我正在尝试将我的Apache 2.2版本配置为使用301永久重定向,当有人在没有www的情况下键入我的网址。我想在httpd.conf中配置它,如果可能的话不使用.htaccess。我尝试使用Redirect永久,但第一个变量必须是目录而不是url。有关如何使用Apache中的301重定向将boom.com请求配置为重定向到www.boom.com的任何想法?感谢
答案 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>
我确信如果有理由使用其中一个,我会发表评论。