【问题标题】:Using .htaccess to redirect domain.co.uk/index.html to www.domain.co.uk使用 .htaccess 将 domain.co.uk/index.html 重定向到 www.domain.co.uk
【发布时间】:2011-08-02 04:41:53
【问题描述】:

我注意到搜索引擎一直在抓取我最近开发的网站的 domain.co.uk 和 www.domain.co.uk 版本。 使用 .htaccess 我已经能够设置 http 301 重定向,以便:

但是:

我的 .htaccess 的内容是(显然我已经替换了我的域以简化问题):

Options +FollowSymlinks
RewriteEngine on
RewriteCond %{http_host} ^domain.co.uk [nc]
RewriteRule ^(.*)$ http://www.domain.co.uk/$1 [R=301,nc]
RewriteCond %{THE_REQUEST} ^.*/index.html
RewriteRule ^(.*)index.html$ http://www.domain.co.uk/$1 [R=301,L]

我知道我可能遗漏了一些明显的东西,但请有人帮我将最终重定向到http://www.domain.co.uk 按预期工作吗?

【问题讨论】:

    标签: apache .htaccess mod-rewrite redirect http-status-code-301


    【解决方案1】:

    您的规则集的第一部分工作正常,缺少 www。已正确添加。对于第二部分,您只需要一个简单的规则即可删除 index.html 而不使用任何附加条件:

    Options +FollowSymlinks
    RewriteEngine On
    RewriteCond %{HTTP_HOST} ^domain.co.uk [NC]
    RewriteRule ^(.*)$ http://www.domain.co.uk/$1 [R=301,NC]
    RewriteRule ^index.html$ http://www.domain.co.uk/ [R=301,L]
    

    我认为这应该可以解决问题。

    【讨论】:

    • 感谢 jCoder,这对我来说很有意义,但 domain.co.uk/index.html 现在会重定向到域市场站点 (www.sedo.co.uk),有什么想法吗?
    • 我认为这超出了 .htaccess 重写问题的范围。我认为您使用该域名来替代您的真实域(例如 example.com)。如果您是该域的所有者,那么您可以检查 whois 条目或联系您的网络托管公司。
    • 抱歉给您带来了困惑,是的,我仍在使用 domain.co.uk 作为我的真实域名的替代品,只是为了让示例更简单。我拥有有问题的域,并且正在尝试获取所有可能的主页路径以重定向到 www.mydomain.co.uk,因为我目前似乎正在遭受稀释的搜索结果。
    • 好吧,由于某种原因,清除我的浏览器缓存似乎使用了最新的 .htaccess 设置,不幸的是,您的上述更改会导致重定向循环。
    • 这很有趣(因为我用自己的域尝试过)。无论如何,如果为 '/' 调用的文件本身执行到 'index.html' 的外部重定向,则会发生重定向循环可能,这取决于页面的实现细节。如果可能,请检查域的 access.log 文件以查看导致重定向的位置。
    猜你喜欢
    • 2021-12-20
    • 1970-01-01
    • 2011-09-06
    • 2010-12-27
    • 2021-11-18
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-03-07
    相关资源
    最近更新 更多