【问题标题】:.htaccess redirect all index.html to parent folder.htaccess 将所有 index.html 重定向到父文件夹
【发布时间】:2014-06-17 19:48:03
【问题描述】:

我需要像这样重定向所有 index.html

原始网址

  1. www.example.com/lp/index.html
  2. www.example.com/sytem/index.html

所需网址

  1. www.example.com/lp
  2. www.example.com/sytem

我使用了以下,它重定向成功但404页面

RewriteEngine On

  RewriteRule ^index\.html$  [R=301,L]
  RewriteRule ^(.*)/index\.html$ /$1/ [R=301,L]

【问题讨论】:

    标签: .htaccess http redirect


    【解决方案1】:

    您几乎做对了,对我来说,您所做的看起来像是复制粘贴错误。您的第一个 RewriteRule 缺少一个参数 - [R=301,L] 之前应该有一个斜杠

    您的 htaccess 应该如下所示:

    RewriteEngine On
    RewriteRule ^index\.html$ / [R=301,L]
    RewriteRule ^(.*)/index\.html$ /$1/ [R=301,L]
    

    参考: http://dense13.com/blog/2012/10/29/removing-index-html-with-mod_rewrite-in-htaccess/

    【讨论】:

    • 网址被重定向但响应Status Code: HTTP/1.1 404 Not Found
    • 您的浏览器可能缓存了 301 重定向。您是在清除浏览器缓存后重试,还是在另一个尚未为您的网站提供缓存的浏览器上尝试相同的操作?
    【解决方案2】:

    将此代码放入您的DOCUMENT_ROOT/.htaccess 文件中:

    DirectoryIndex index.html
    RewriteEngine On
    
    RewriteCond %{THE_REQUEST} /index\.html [NC]
    RewriteRule ^(.*?)index\.html$ /$1 [L,R=301,NC,NE]
    
    RewriteCond %{REQUEST_FILENAME} !-d
    RewriteCond %{DOCUMENT_ROOT}/$1/index\.html -f [NC]
    RewriteRule ^(.+?)/?$ /$1/index.html [L]
    

    【讨论】:

    • 网址被重定向但响应Status Code: HTTP/1.1 404 Not Found
    【解决方案3】:

    试着把它放在你的 .htaccess 中

    RewriteEngine On
    RewriteCond %{REQUEST_FILENAME} !-f
    RewriteCond %{REQUEST_FILENAME} !-d
    RewriteRule ^(.*)$ $1/index\.html [PT,L]
    

    PT 和 L 是重写标志,有关它们的更多详细信息,请查看http://httpd.apache.org/docs/2.2/rewrite/flags.html

    【讨论】:

      【解决方案4】:

      为什么不重定向 index.(anything) ?像 index.php? index.xhtml?

      RewriteEngine On
      RewriteRule ^index\.(.*)$ / [R=301,L]
      RewriteRule ^(.*)/index\.(.*)$ /$1/ [R=301,L]
      

      或仅基于初始 URL 请求(以避免与其他重写规则冲突):

      RewriteEngine On
      RewriteCond %{THE_REQUEST} /index\.(.*) [NC]
      RewriteRule ^(.*?)index\.(.*)$ /$1 [R=301,L]
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2015-05-30
        • 2016-08-30
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2017-08-13
        • 1970-01-01
        相关资源
        最近更新 更多