.htaccess htaccess将特定URL重定向到不同域

c0vxltue  于 2022-11-16  发布在  其他
关注(0)|答案(1)|浏览(217)

我有2个域指向同一个目录,现在我想重定向一些网址到一个特定的域,其余的应该在主域。
我有一个域名www.xyz.com,这是主域名网站将打开与此域,从这个域我想重定向特定网址到不同的域,所以如果有人打开www.xyz.com/a/theatre,然后它应该重定向到www.abc.com/a/theatre。现在,从同一个新的域,如果有人点击的URL没有“/a/theatre”的URL,然后它应该重定向回主域名。因此,如果有人打开www.abc.com/a/classes,则应重定向到www.xyz.com/a/classes
我已经使用了以下规则,但不工作,

RewriteCond %{HTTP_HOST} ^www.xyz.com$ [NC]    
RewriteCond %{REQUEST_URI} ^/a/theatre$    
RewriteRule (.*)$ http://www.abc.com/a/$1 [R=301,L]

RewriteCond %{HTTP_HOST} ^www.abc.com$ [NC]    
RewriteCond %{REQUEST_URI} !^/a/theatre    
RewriteRule (.*)$ http://www.xyz.com/a/$1 [NC,L,R=301]

任何帮助都是感激不尽的。谢谢!
这里是我的htaccess的所有代码,我已经在这个域上安装了Joomla。

Options -Indexes

RewriteEngine on
RewriteBase /seo
RewriteCond %{HTTP_HOST} ^www.mcleancenter.org$ [NC]
RewriteCond %{REQUEST_URI} ^/seo/alden-theatre$
RewriteRule ^/?seo/(.*)$ http://www.aldentheatre.org/seo/$1 [R=301,L]

RewriteCond %{HTTP_HOST} ^www.aldentheatre.org$ [NC]
RewriteCond %{REQUEST_URI} !^/seo/alden-theatre
RewriteRule ^/?seo/(.*)$ http://www.mcleancenter.org/seo/$1 [NC,L,R=301]

########## Begin - Joomla! core SEF Section
#
#RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_URI} !^/index.php
RewriteCond %{REQUEST_URI} (/|\.php|\.html|\.htm|\.feed|\.pdf|\.raw|/[^.]*)$  [NC]
RewriteRule (.*) index.php
RewriteRule .* - [E=HTTP_AUTHORIZATION:%{HTTP:Authorization},L]
#
########## End - Joomla! core SEF Section
mu0hgdu0

mu0hgdu01#

您需要通过在规则中的正则表达式前面添加一个^/?a/来匹配前导/a/

RewriteCond %{HTTP_HOST} ^www.xyz.com$ [NC]    
RewriteCond %{REQUEST_URI} ^/a/theatre$    
RewriteRule ^/?a/(.*)$ http://www.abc.com/a/$1 [R=301,L]

RewriteCond %{HTTP_HOST} ^www.abc.com$ [NC]    
RewriteCond %{REQUEST_URI} !^/a/theatre    
RewriteRule ^/?a/(.*)$ http://www.xyz.com/a/$1 [NC,L,R=301]

相关问题