微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

重定向* .php以清除URL

我的htaccess不太有效:

RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)\.PHP$/blah/$1 [R=301,L]
RewriteRule ^(.*)$/blah/index.PHP/$1 [L]

基本上/blah/about.PHP应该重定向到/ blah / about

我正在使用codeigniter,因此需要最后一行来处理URL.

重定向工作正常但我在/ blah / about中得到内部服务器错误

**编辑 – 错误日志:

由于可能的配置错误,请求超出了10个内部重定向的限制.如有必要,使用’LimitInternalRecursion’增加限制.使用“LogLevel debug”获取回溯.

解决方法:

我想你只需要改变你的最后一行:

RewriteRule ^(.*)$/blah/index.PHP?/$1 [L]

我没有CodeIgniter的特定经验,但通常框架希望通过中央控制器(index.PHP)推送所有请求,然后从那里解析请求的URL.

编辑:刚刚用这里的例子更新我的答案:http://codeigniter.com/wiki/mod_rewrite/,这应该是CodeIgniter想要它的方式.

更新:您可能应该为第二个RewriteRule复制RewriteConds,它们仅适用于第一个

RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)\.PHP$/blah/$1 [R=301,L]

RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$/blah/index.PHP/$1 [L]

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐