我正在迁移网站,假设example.com
为yyy.com
。
但example.com/a
,example.com/a/*
之类的所有内容都应保留在example.com
。
但还有更多内容:我的路由称为example.com/a-b/*
,这应该重定向到yyy.com/a-b/*
(就像网站的其他部分一样)。
我可以让网站正确重定向除example.com/a*
之外的所有内容,但这意味着example.com/a-b
未被重定向...
我试图在我的.htaccess中写下以下规则,徒劳无功:
RewriteEngine On
RewriteBase /
RewriteCond %{REQUEST_URI} !^a$
RewriteCond %{REQUEST_URI} !^a\/.*$
RewriteRule ^(.*)$ http://www.yyy.com/$1 [R=301,L]
甚至:
RewriteEngine On
RewriteBase /
RewriteCond %{REQUEST_URI} ^a-b
RewriteRule ^(.*)$ http://www.yyy.com/$1 [R=301,L]
RewriteCond %{REQUEST_URI} !^a
RewriteRule ^(.*)$ http://www.yyy.com/$1 [R=301,L]
(不能更改我的路线名称)
答案 0 :(得分:0)
在.htaccess文件中尝试以下内容
RewriteEngine On
RewriteBase /
#if it starts with routes a-b then send to yyy
RewriteCond %{REQUEST_URI} ^/(a-b/.*)$ [NC]
RewriteRule . http://www.yyy.com/%1 [R=301,L]
#if it does not start with an a, then also send to new site
RewriteCond %{REQUEST_URI} !^/a [NC]
RewriteRule (.*) http://www.yyy.com/$1 [R=301,L]