【问题标题】:using .htaccess to add www prefix使用 .htaccess 添加 www 前缀
【发布时间】:2017-08-16 19:21:42
【问题描述】:

我有一个托管在 godaddy 上的网站。使用阿帕奇。 我在 .htaccess 中使用此代码自动将 www 前缀添加到域中

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

但不是“www.example.com”而是转到“www.example.com/web”

我只想将“example.com”转换为“www.example.com”

【问题讨论】:

标签: .htaccess mod-rewrite


【解决方案1】:

如果您只想将example.com 转换为www.example.com,那么您只需要使用:

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

你也可以这样布局:

RewriteEngine On
RewriteCond %{HTTP_HOST} !^www\.
RewriteRule ^(.*)$ http://www.%{HTTP_HOST}%{REQUEST_URI} [R=302,L,NE]

确保在测试之前清除缓存。你会注意到我只有标志R=302。这是一个临时重定向,在测试时使用它。如果您对 RewriteRule 感到满意并且一切正常,请将其更改为 R=301,这是一个永久重定向。

【讨论】:

    【解决方案2】:

    用这个解决了

    RewriteEngine on
    RewriteCond %{HTTP_HOST} ^example.com$ [NC]
    RewriteRule (.*)$ http://www.example.com/$1 [R=301]
    RedirectMatch 301 ^/web/$ http://www.example.com/
    

    【讨论】:

      猜你喜欢
      • 2013-08-01
      • 1970-01-01
      • 2012-04-10
      • 2011-01-13
      • 2013-06-24
      • 1970-01-01
      • 2012-01-27
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多