我有一个单一入口点的应用程序。在该应用程序中,我有以下几行:
$url = !empty($_SERVER["PATH_INFO"]) ? $_SERVER["PATH_INFO"] : "/";
这允许我在访问URL时处理URL,如下所示:
http://localhost/index.php/controller/action?get=variables
一切都很好,但我是强迫症,我想摆脱网址的index.php
部分。无论我尝试过什么,它都没有按预期工作。
RewriteRule ^(.+)$ /index.php/$1 [L]
#or
RewriteRule ^([^.]+)$ /index.php/$1 [L]
等
其中一些在我的nginx错误日志中产生循环错误(重写次数太多),其中一些根本不起作用。
我在这里停滞不前。如何成功重写这样的URL? 请注意,我使用的是Nginx和不是 Apache)。
答案 0 :(得分:1)
否定前瞻。
RewriteRule ^(?!index\.php)(.*)$ /index.php/$1 [L]