Nginx规则转换

我有这些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; } }