我有2个域指向同一目录,现在我想将一些URL重定向到一个特定域,其余应该在主域上。
我有一个域名www.xyz.com这是主域名网站将会打开这个域名,从这个域名我想将特定的URL重定向到不同的域名,所以如果有人打开www.xyz.com/a/theatre那么它应该重定向到www.abc.com/a/theatre。现在来自同一个新域名,如果有人点击URL中没有“/ a / theater”的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
答案 0 :(得分:1)
您需要在规则中的正则表达式前面添加/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]