htacces广告重定向 - 这是对的吗?

时间:2015-07-16 08:48:49

标签: regex apache .htaccess mod-rewrite

我需要将所有用户重定向到另一个保留当前页面结构的网站,以便将它们重定向到新域的正确页面。

我的目标是仅重定向主域名,而不是子域名,因此我创建了此代码段,但我不确定这是否正确:

RewriteCond %{HTTP_HOST} domain.com
RewriteRule /(.*) http://otherdomain.com [R=301,L]

我已经在我的htaccess中将此用户从www重定向到非www站点:

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

我如何确保如果用户来自www.domain.com,他将重定向到新域名?

1 个答案:

答案 0 :(得分:0)

您可以将新规则放在早期规则之下,如下所示:

RewriteEngine On

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

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

但是,如果仅托管了一个域,则可以通过此单一规则替换这两个规则:

RewriteEngine On

RewriteCond %{HTTPS} !=on
RewriteCond %{HTTP_HOST} ^(www\.)?domain\.com$
RewriteRule (.*) http://otherdomain.com/$1 [R=301,L]