我用两种语言制作了一个网站。我对每一个都有一个特定的域。我买了它们,它们指向同一个目录(所以它们显示的是同一个网站(。
我很乐意将每个语言重定向到它的特定域。
我试过了:
RewriteRule ^fr/(.*)$ https://www.french-domain.com/fr/$1 [L,R=301]
RewriteRule ^en/(.*)$ https://www.english-domain.com/en/$1 [L,R=301]
但它会创建一个带有循环的错误。
有人有主意吗?谢谢
您总是在搜索旧url和新url中都存在的模式,因为它们都指向同一个文件夹。。。你进入了无尽的循环。
如果你有2个域,那么你可以通过域本身进行检查,
像这样:
HTTP_HOST fr.french-domain.com/(.*)
RewriteRule ^fr.french-domain.com/(.*)$ https://www.french-domain.com/fr/$1 [L,R=301]
我不知道域的具体外观,也不知道重定向到什么,所以也许你需要稍微改变一下。
但是尝试一下,如果它对你有效的话,请更新,
您没有使用正确的规则重定向域。您的规则仅重定向以fr
和en
开头的Url路径,即:example.com/fr
。要将域重定向到特定文件夹,首先需要检查HTTP_HOST
标头,然后将主机重定向到文件夹。
在/.htaccess您的域所指向的目录中使用以下规则:
RewriteEngine on
# map fr-example.com to /fr-folder
RewriteCond %{HTTP_HOST} ^(www.)?fr-example.com$ [NC]
RewriteRule ^.*$ /fr-folder%{REQUEST_URI} [L]
# map eng-example.com to /eng-folder
RewriteCond %{HTTP_HOST} ^(www.)?eng-example.com$ [NC]
RewriteRule ^.*$ /eng-folder%{REQUEST_URI} [L]