我在下面有一个简单的nginx重写规则:
if (!-e $request_filename) {
rewrite ^(.*)$ /index.php$1 break;
}
它与http://mydomain.com/controller/action之类的网址一样正常,但是当请求的网址类似于:
http://mydomain.com/index.php/controller/action
它无法识别index.php是一个现有文件,在这种情况下不应该重写。
我该如何解决这个问题?谢谢你的帮助。
答案 0 :(得分:0)
你需要一个正则表达式,上面写着“任何不包含.php的字符串”,如下所示:
^((?!\.php).)*$
如果由于php文件不存在而导致错误,则您需要使用自定义404错误将用户重定向到其他位置。