使用.htaccess重定向301 - 如果包含或不包含www,则重定向

时间:2013-03-22 16:36:09

标签: .htaccess http-status-code-301

我的.htaccess

中有以下301重定向
RewriteCond %{QUERY_STRING}  ^$
RewriteRule ^old-site\.com,$ http://www.new-site.com/? [R=301,NE,NC,L]

如果我访问

  

old-site.com

我被正确重定向。

但是,如果我访问www.old-site.com,那么它就不起作用 有没有办法有效地忽略www

修改

有几个这样的条目...

例如:

www.old-site.com/page-a-242.htmlwww.new-site.com/page-a

1 个答案:

答案 0 :(得分:1)

RewriteRule会忽略该域名,因此您的第一条规则可能只是

RewriteRule ^$ http://www.new-site.com/? [R,L]

对于其他特定映射,您可以使用RewriteMap。有关如何使用它的详细信息,请参阅txt: Plain text maps

RewriteMap的缺点是,它只能在主服务器配置或虚拟主机环境中使用。