我有一个可以通过3个域(domain.com,domain.ch,domain.fr)访问的网站。但是,这三个使用完全相同的文件和文件夹。
关于.fr
域(并且仅此域),我需要以下内容:
- 将
domain.fr
(根)重定向到domain.com/fr/france
。
这是通过以下规则实现的:
RewriteCond %{HTTP_HOST} ^www.domain.fr$
RewriteRule ^/?$ "http://www.domain.com/fr/france" [R=301,L]
它有效。(还有一个有效的规则,可以在每个URL前面强制www.。
我无法上班的是:
domain.fr/fr
重定向到domain.com/fr/france
。最后,将任何
domain.fr/fr/*
的 URL 重定向到domain.com/fr/*
(保留 * 代表的任何内容)。
诀窍(对我来说)是相同的.htaccess文件也将出现在 domain.com 和 domain.ch 上,但这些规则不得为这些域激活。
您可以将这些规则放在您的 htaccess 中
# Redirect [www.]domain.fr and [www.]domain.fr/fr to www.domain.com/fr/france
RewriteCond %{HTTP_HOST} ^(www.)?domain.fr$ [NC]
RewriteRule ^(|fr)$ http://www.domain.com/fr/france [R=301,L]
# Redirect domain.fr/fr/* to domain.com/fr/*
RewriteCond %{HTTP_HOST} ^(www.)?domain.fr$ [NC]
RewriteRule ^fr/(.*)$ http://www.domain.com/fr/$1 [R=301,L]
尝试:
RewriteCond %{HTTP_HOST} ^www.domain.fr$
RewriteCond %{REQUEST_URI} !^/fr/france
RewriteRule ^fr/(.*)$ http://www.domain.com/fr/france/$1 [R=301,L]