Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/.htaccess/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Apache .htaccess文件使新域重定向到我的原始域_Apache_.htaccess_Mod Rewrite_Redirect - Fatal编程技术网

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

Apache .htaccess文件使新域重定向到我的原始域,apache,.htaccess,mod-rewrite,redirect,Apache,.htaccess,Mod Rewrite,Redirect,给我们一点背景知识,也许有助于理解这一点。我最初在主机的服务器上只有一个域。我刚刚添加了一个新域,它正在重定向到我的第一个站点 我必须创建一个.htaccess文件重定向我的第一个站点,这样它在每个页面上都有我的SSL,这样它就把www.从站点名称中去掉了。当客户登录时,www.导致会话出现问题 所以我的代码是这样的: RewriteEngine On RewriteCond %{HTTP_HOST} ^www\.(.+) [NC] RewriteRule ^(.*) https://%1/$1

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

我必须创建一个.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]

我如何才能使我的代码正常工作,使is仍然具有与它所做的完全相同的功能,并且不干扰我的新域并使其重新路由到我的旧站点?

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

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]

注意,我还没有测试过这个

该行重定向到同一主机,但没有www,您的旧站点是否没有www?新站点是否有www并不重要。我只是不能将新站点重定向到我的另一个站点,但我仍然需要我的一个站点来拥有它。htaccess文件那么我怀疑是这一行重定向到了你的旧站点。如果请求是向新站点发出的,该行将重定向到没有www的新站点,如果请求是向旧站点发出的,该行将重定向到没有www的旧站点。那么是什么原因造成的?我只需要两个域都工作,我需要使用这个。htaccess代码为我的第一个网站不干扰新的。必须是在网站本身的东西。。。这可能是唯一的解释。你需要检查代码以确定发生了什么。这给了我这个网页有一个重定向循环ERR\u太多\u我的第一个站点重定向我更新了规则。清除缓存,然后再试一次。新站点我只需要它,以免干扰我首先创建的站点。我只想在浏览器中输入新的站点域时,它会进入该站点。我还没有测试您输入的新方式,但更新使其工作正常。谢谢