0

我目前正在对.htaccess文件进行更改以 mod_rewrite 一些 URL。我已经阅读了一些内容并提出了以下内容。

RewriteCond %{HTTP_HOST} ^(www\.)?foobar\.net [NC,OR]
RewriteCond %{HTTP_HOST} ^foobar\.com [NC,OR]
RewriteCond %{HTTP_HOST} ^shop\.foobar\.com [NC]
RewriteRule ^(.*)$ http://www.foobar.com/$1 [R=301,NC,L]

所以我的问题是,以上内容是否足以将以下域重定向到 www.foobar.com,同时保留尾随 URL(例如 www.foobar.net/booya 应该转到 www.foobar.com/booya):

  • www.foobar.net
  • foob​​ar.net
  • foob​​ar.com
  • shop.foobar.com
4

1 回答 1

1

是的,实际上,如果您不为其他独立域提供服务,除了那些域,并且您的新 foobar.com 位于不同的服务器上,您可以删除那些RewriteCond.

另一方面,如果您在同一台服务器上为新域提供服务,并且您希望将所有其他可能的域重定向到www.foobar.com(我认为这可能是您的情况),您可以尝试:

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

这样,您就不必担心您可能会忘记要重定向的其他域。

于 2013-07-25T04:51:00.503 回答