很好的问题,我最近在ServerFault上回答了与另一个解决方案类似的解决方案,尽管这里的解决方案要简单得多,而且您确切地知道需要什么。
您想要的是仅在用户显式请求时执行重定向
/index.php,而从不重定向最终由实际
index.php脚本处理的内部请求(如通过
index指令定义)。
应该这样做,避免循环:
server { index index.php; if ($request_uri ~* "^(.*/)index.php$") { return 301 $1; } location / { # ... }}


