.htaccess 将www.domainnamenumberone.com/wordpress/path/改写为domaintwo.com/wordpress/path
我有两个域名为同一个网站,需要做一个正确的重写,以便每当有人访问第一个域名和所有子目录,有或没有www。他们会被重定向到第二个域名和子目录没有www 我设法在没有子目录的情况下为域名设置重定向,但不管出于什么原因,子目录都没有被重写 因此,当我进入domainnamenumberone.com或www.domainnamenumberone.com时,我会被重定向到domaintwo.com–然而,当我进入domainnamenumberone.com/wordpress/path或www.domainnamenumberone.com/wordpress/path时,我仍然在那里,没有任何内容被重写 以下是我放入的内容。htaccess:.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
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谢谢你的解释