htaccess仅将index.html重定向到index.php

时间:2014-11-28 12:22:54

标签: php apache .htaccess mod-rewrite redirect

我有一个htaccess规则,它将index.html重定向到index.php

  RewriteCond %{THE_REQUEST} ^[A-Z]{3,9}\ /.*index\.html\ HTTP/
  RewriteRule ^(.*)index\.html$ /$1index.php [R=301,L]

这很好用 - 当我拨打http://mydomainname.com/index.html时,它会将我重定向到http://mydomainname.com/index.php

但我遇到一个问题,当名为index.html的子文件夹中有一个文件时,我的htaccess规则会将其转换为index.php。

示例 - http://mydomainname.com/subfolder/index.htmlhttp://mydomainname.com/subfolder/index.php,这不应该发生在子文件夹中。

任何解决方案?

2 个答案:

答案 0 :(得分:9)

对于你正在做的事情,这个规则可能有点过于复杂。

你只需要:

RewriteRule ^index.html$ /index.php [R,L]

答案 1 :(得分:2)

试试这个。它适用于我的情况。

RewriteEngine On
RewriteBase /
RewriteRule ^index\.html?$ / [NC,R,L]

访问:https://css-tricks.com/how-to-redirect-indexhtml-to-indexphp/