htaccess卡在无尽的循环中

时间:2013-04-10 13:51:22

标签: .htaccess http-status-code-301

我已将hta​​ccess文件放在具有以下

的网站上
<Files ~ "^\.(htaccess|htpasswd)$">
deny from all
</Files>

RewriteEngine on
RewriteCond %{HTTP_HOST} ^(www\.ic-furniture\.com)(:80)? [NC]
RewriteRule ^(.*) http://ic-furniture.com/$1 [R=301,L]
order deny,allow

redirect 301    /index.php  http://ic-furniture.com/
redirect 301    /index.html http://ic-furniture.com/

ErrorDocument 404 http://ic-furniture.com/404.html

我想做的是

  • 删除www。
  • 删除/index.html
  • 如果有人点击指向site / index.php的链接,我希望他们转到主页
  • 404错误页面到404.html

但是当我上传这个我得到一个错误

  

页面未正确重定向

     

Firefox检测到服务器正在以永远无法完成的方式重定向此地址的请求。

任何想法我在这里做错了,我一直在疯狂试图弄清楚

2 个答案:

答案 0 :(得分:3)

您应该使用%{THE_REQUEST}变量来检查实际请求是否适用于索引文件,然后相应地重定向:

RewriteCond %{THE_REQUEST} ^[A-Z]{3,9}\ /index\.(php|html)
RewriteRule ^ http://ic-furniture.com/ [L,R=301]

答案 1 :(得分:0)

我看了一眼,问题是由:

引起的
  

从技术上讲,当您请求/请求index.html时(给定   index.html是DirectoryIndex,通常就是这样)   确实会导致循环

所以你必须使用:

RewriteRule ^index\.html$ mysite.com [L,R=301]