更改服务器后Htaccess代码无法正常工作

时间:2015-06-20 18:21:23

标签: php regex .htaccess mod-rewrite http-status-code-301

我在htaccess中使用此代码将任何目录剥离到index.php

RewriteRule ^.(index.+?\.php)$ /$1 [L,NC,R=301] 

例如

http://www.example.com/toys/index.php
http://www.example.com/battery/upload/index.php
http://www.example.com/xyz/photos/index.php

它正在改变将所有这些重定向到

http://www.example.com/index.php

现在当我更改我的服务器时 - 此代码导致404页面 是否有任何替代修改可以建议重新修改代码,以便在域之后和index.php之前删除任何行或目录

2 个答案:

答案 0 :(得分:1)

要为administrator文件夹创建例外,您可以执行以下操作:

RewriteRule ^(?!administrator/).+?(index\.php)$ /$1 [L,NC,R=301]

答案 1 :(得分:0)

如果我理解正确,这应该可以胜任:

RewriteRule ^.+/index.php$ index.php [L,NC,R=301] 

P.S。我喜欢这个工具来测试我的重写规则:Link