【问题标题】: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/