Smarty .htaccess重写(来自nginx)
问题描述:
I want to add Apache .htaccess rules. This is from old server's nginx:
location ~ \.php$ {
fastcgi_split_path_info ^(.+\.php)(/.+)$;
fastcgi_pass unix:/var/run/php5-fpm.sock;
fastcgi_index index.php;
include fastcgi_params;
}
location / {
if (-f $request_filename) {
break;
}
if (-d $request_filename) {
break;
}
rewrite ^/(.*) /index.php?demand=$1;
}
How to rewrite this? All I am getting now is index page and the rest of files are not found. I am really hoping to get some help here, thanks.
我想添加Apache .htaccess规则。 这是来自旧服务器的nginx: p>
location~ \ .php $ { fastcgi_split_path_info ^(。+ \。php)(/。+)$; fastcgi_pass unix :/var/run/php5-fpm.sock; fastcgi_index index.php; 包括fastcgi_params; } 位置/ { if(-f $ request_filename){ break; } if(-d $ request_filename){ break; } rewrite ^ /(.*)/index.php?demand=$1; }
pre> \ n如何重写这个? 我现在得到的只是索引页面,找不到其余的文件。 我真的希望在这里得到一些帮助,谢谢。 p> div>
答
The rewrite part should simply be:
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ /index.php?demand=$1 [L]
To force the use of https, add this before the above rules:
RewriteCond %{HTTPS} off
RewriteRule ^ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]