php网站取消重定向,重定向* .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]

标签:htaccess,php,codeigniter,mod-rewrite

来源: https://codeday.me/bug/20190925/1816443.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值