Options -MultiViews
RewriteEngine On
RewriteBase /mvc/public
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^(.+)$ index.php?url=$1 [QSA,L]
location /mvc/public/ {
if (!-e $request_filename){
rewrite ^/mvc/public/(.+)$ /mvc/public/index.php?url=$1 [QSA,L];
}
}
但这不起作用! 有人能帮助我吗?
答案 0 :(得分:1)
[QSA,L]
不是nginx
语法 - 有关详细信息,请参阅this document。
location /mvc/public/ {
if (!-e $request_filename) {
rewrite ^/mvc/public/(.+)$ /mvc/public/index.php?url=$1 last;
}
}
使用try_files
而不是if
:
location /mvc/public/ {
try_files $uri $uri/ @rewrite;
}
location @rewrite {
rewrite ^/mvc/public/(.+)$ /mvc/public/index.php?url=$1 last;
}
有关详细信息,请参阅this document。