【问题标题】:htaccess mod rewrite ignoring forward slashhtaccess mod重写忽略正斜杠
【发布时间】:2011-06-08 01:36:18
【问题描述】:

我一直在搜索和搜索这个从非 www URL 到 www 的简单 htaccess 重定向,但没有成功。

我在站点的根 htaccess 中有以下内容:

RewriteEngine On
RewriteBase /

RewriteCond %{HTTP_HOST} ^domain.com$ [NC]
RewriteRule ^(.*)$ http://www.domain.com/$1 [L,R=301]

从我读过的内容来看,这应该可以工作,但不是 htp://domain.com/index.html 转到 htp://www.domain.com/index.html,而是转到 htp://www .domain.comindex.html/ - 注意 .com 和 index.html 之间被忽略的正斜杠

我还尝试了以下重写条件:(显然不是一次全部)

RewriteCond %{HTTP_HOST} domain.com [NC]
RewriteCond %{HTTP_HOST} ^domain\.com$ [NC]
RewriteCond %{HTTP_HOST} !^www.domain.com$ [NC]

任何帮助将不胜感激。


注意:域通常会有“http”,但由于 url 的堆栈溢出限制,我不得不删除“t”:)

【问题讨论】:

    标签: .htaccess mod-rewrite


    【解决方案1】:

    经过测试的解决方案可以正常工作(至少在我所有的生产服务器上)

    RewriteEngine On
    RewriteCond %{HTTP_HOST} ^domain\.com$ [NC]
    RewriteRule ^(.*)$ http://www.domain.com/$1 [R=301,L]
    

    【讨论】:

    • 直到我尝试在另一个浏览器和 Google Chrome Incognito 中才能使用该更改并且它可以工作...重新启动浏览器,它现在可以工作了。谢谢!
    • 我刚刚处理了同样的问题。是浏览器缓存了重定向,这实际上是它应该做的 301(永久)重定向。
    猜你喜欢
    • 2012-11-10
    • 2014-04-30
    • 1970-01-01
    • 1970-01-01
    • 2015-03-19
    • 1970-01-01
    • 1970-01-01
    • 2010-12-18
    • 1970-01-01
    相关资源
    最近更新 更多