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
.htaccess 将www.domainnamenumberone.com/wordpress/path/改写为domaintwo.com/wordpress/path_.htaccess_Url Rewriting - Fatal编程技术网

.htaccess 将www.domainnamenumberone.com/wordpress/path/改写为domaintwo.com/wordpress/path

.htaccess 将www.domainnamenumberone.com/wordpress/path/改写为domaintwo.com/wordpress/path,.htaccess,url-rewriting,.htaccess,Url Rewriting,我有两个域名为同一个网站,需要做一个正确的重写,以便每当有人访问第一个域名和所有子目录,有或没有www。他们会被重定向到第二个域名和子目录没有www 我设法在没有子目录的情况下为域名设置重定向,但不管出于什么原因,子目录都没有被重写 因此,当我进入domainnamenumberone.com或www.domainnamenumberone.com时,我会被重定向到domaintwo.com–然而,当我进入domainnamenumberone.com/wordpress/path或www.do

我有两个域名为同一个网站,需要做一个正确的重写,以便每当有人访问第一个域名和所有子目录,有或没有www。他们会被重定向到第二个域名和子目录没有www

我设法在没有子目录的情况下为域名设置重定向,但不管出于什么原因,子目录都没有被重写

因此,当我进入domainnamenumberone.com或www.domainnamenumberone.com时,我会被重定向到domaintwo.com–然而,当我进入domainnamenumberone.com/wordpress/path或www.domainnamenumberone.com/wordpress/path时,我仍然在那里,没有任何内容被重写

以下是我放入的内容。htaccess:

RewriteEngine On
RewriteBase /

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

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

RewriteCond %{HTTP_HOST} ^www\.domaintwo\.com [NC]
RewriteRule ^(.*)$ http://domaintwo.com/$1 [L,R=301]
非常感谢您的帮助

您可以使用:

RewriteEngine On
RewriteBase /

RewriteCond %{HTTP_HOST} ^www\. [NC,OR]
RewriteCond %{HTTP_HOST} ^domainnumberone\.com [NC]
RewriteRule ^(.*)$ http://domaintwo.com/$1 [L,R=301]
但在我看来,它也应该适用于您的……

尝试其他浏览器(缓存问题)

您需要将此规则作为
DocumentRoot/.htaccess
中的第一条规则放置:

RewriteEngine On

RewriteCond %{HTTP_HOST} ^www\.domaintwo\.com [NC,OR]
RewriteCond %{HTTP_HOST} ^(?:www\.)?domainnumberone\.com [NC]
RewriteCond %{THE_REQUEST} ^[A-Z]{3,}\s/+(\S*)\s [NC]
RewriteRule ^ http://domaintwo.com/%1 [L,R=302,NE]
然后在每一个子.htaccess中添加这一行,如
wordpress/
wordpress/path/
(只要.htaccess已经存在)下面的
重写引擎

RewriteOptions Inherit

没有,什么都没有改变,这个问题在所有的浏览器中都有体现。很有魅力。谢谢你,阿努巴瓦@anubhava我不明白问题出在哪里,为什么
RewriteCond%{the_REQUEST}…
@Croises:问题是存在多个.htaccess。1) root 2)wordpress以及我选择
%{the_REQUEST}
的原因,因为我建议使用
重写选项继承
,以避免在.htaccess和.htaccess中重复此规则。请注意,在这种情况下,基于
REQUEST\u URI
的规则将给出错误的结果,因为parent.htaccess是在执行child之后继承的。htaccess@anubhava谢谢你的解释