如何重写我的URL以便它与$ _SERVER [“PATH_INFO”]一起使用?

时间:2013-07-05 07:15:53

标签: php url-rewriting nginx

我有一个单一入口点的应用程序。在该应用程序中,我有以下几行:

$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)

1 个答案:

答案 0 :(得分:1)

否定前瞻。

RewriteRule ^(?!index\.php)(.*)$ /index.php/$1 [L]