.htaccess文件使新域重定向到我的原始域

时间:2015-06-09 13:47:28

标签: apache .htaccess mod-rewrite redirect

给出一些可能有助于理解这一点的背景知识。我最初只在我的主机服务器上有一个域。我刚刚添加了一个新域名,它正在重定向到我的第一个站点。

我必须创建一个.htaccess文件重定向我的第一个网站,以便它在每个页面上都有我的SSL,所以它需要www。远离网站名称。 www。在客户登录时导致会话出现问题。

所以我的代码是这样的:

RewriteEngine On
RewriteCond %{HTTP_HOST} ^www\.(.+) [NC]
RewriteRule ^(.*) https://%1/$1 [R=301,NE,L]
RewriteCond %{HTTPS} off
RewriteRule ^ https://%{HTTP_HOST}%{REQUEST_URI} [NE,L,R=301]

我的主机公司的技术支持说,这条线路正在使我的新网站重定向到我的旧网站:

RewriteRule ^(.*) https://%1/$1 [R=301,NE,L]

如何使我的代码工作,以便仍然具有与其正在执行的功能完全相同的功能,并且不会干扰我的新域并使其重新路由到我的旧网站?

1 个答案:

答案 0 :(得分:2)

如果我理解正确,为什么不排除新网站?

RewriteEngine On
RewriteCond %{HTTP_HOST} !^(www\.)?newsite\.com [NC]
RewriteCond %{HTTP_HOST} ^www\.oldsite\.com [NC]
RewriteRule ^(.*)$ https://oldsite.com/$1 [R=301,NE,L]
RewriteCond %{HTTPS} ^off
RewriteCond %{HTTP_HOST} !^(www\.)?newsite\.com [NC]
RewriteRule ^(.*) https://oldsite.com/$1 [R=301,NE,L]

或许你可以告诉它不要根据主机做任何事情。尝试将此放在规则的顶部。

RewriteCond %{HTTP_HOST} ^(www\.)?newsite\.com [NC]
RewriteRule ^ - [L]

注意我没有测试过这个。