我有一个像这样的域名" domain.com",现在我创建语言的子文件夹。 现在我的域名有这个子文件夹" domain.it/it /"和" domain.com/en /"。 我只需要重定向根域" domain.it" to" domain.com/it/,我尝试在我的.htaccess中执行此操作,但它进入"太多重定向":
RewriteCond %{HTTP_HOST} ^(www\.)?domain.it$ [NC]
RewriteRule ^(.*) https://www.domain.it/it/ [R=301,L]
而且:
RewriteCond %{REQUEST_URI} !^/(en|it)/
RewriteRule ^(.*)$ https://www.domain.it/it/ [L,R=301]
我该怎么做? 感谢
答案 0 :(得分:0)
第一条规则+条件始终匹配,因此导致无限循环。在这种情况下,您只需要一条规则:
RewriteRule ^(?!(?:it|en)/).* https://www.domain.it/it/$0 [L,R=301]
这使用具有非捕获子模式的负前瞻断言。不过,我建议您添加另一条规则(之前那条规则)以帮助手动输入/复制不当的网址:
RewriteRule ^(?:it|en)$ https://www.domain.it/$0/ [L,R=301]