需要帮助在Apache中为非www配置301永久重定向

时间:2010-02-15 21:00:41

标签: apache redirect

我正在尝试将我的Apache 2.2版本配置为使用301永久重定向,当有人在没有www的情况下键入我的网址。我想在httpd.conf中配置它,如果可能的话不使用.htaccess。我尝试使用Redirect永久,但第一个变量必须是目录而不是url。有关如何使用Apache中的301重定向将boom.com请求配置为重定向到www.boom.com的任何想法?感谢

2 个答案:

答案 0 :(得分:1)

添加以下内容:

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

这会将所有与www.boom.com不匹配的请求重定向到www.boom.com,并使用相同的查询路径。 (例如,boom.com/foo?foo=bar将重定向到www.boom.com/foo?foo=bar)。

答案 1 :(得分:1)

如果您已命名虚拟主机,则可以在内部添加额外的RewriteCond条目@ tux21b以隔离它们。此外,如果你有mod_alias,你可以试试这个应该做同样的事情:

<VirtualHost boom.com:80>
    RedirectMatch permanent /.* http://www.boom.com$0
</VirtualHost>

我确信如果有理由使用其中一个,我会发表评论。