我有这些htaccess规则:
<IfModule mod_rewrite.c> <IfModule mod_negotiation.c> Options -MultiViews </IfModule> RewriteEngine On # Redirect Trailing Slashes... RewriteRule ^(.*)/$ /$1 [L,R=301] # Handle Front Controller... RewriteCond %{REQUEST_FILENAME} !-d RewriteCond %{REQUEST_FILENAME} !-f RewriteRule ^ index.php [L]
我使用了一个在线转换器,这是它给了我,但是,它不起作用,所以我不知道它有什么问题。
location / { rewrite ^/(.*)/$ /$1 redirect; if (!-e $request_filename){ rewrite ^(.*)$ /index.php break; } }
提前致谢
在nginx中,你不用rewrite前端控制器,而改用try_files 。 你的configuration应该是这样的:
server { ... try_files $uri $uri/ /index.php; location ~ (.+)/$ { return 301 $scheme://$host$1; } }