.htaccess htaccess重定向(多域多语言)子文件夹通配符
我安装了一个带有多域和多语言的typo3,并不是每个域都安装了每种语言 语言为de/fr/en/pt/es/cn/.htaccess htaccess重定向(多域多语言)子文件夹通配符,.htaccess,internationalization,.htaccess,Internationalization,我安装了一个带有多域和多语言的typo3,并不是每个域都安装了每种语言 语言为de/fr/en/pt/es/cn/ www.example.de可以是de/en/fr,但不能是 www.example.de pt/es/cn 现在我把事情搞砸了,谷歌索引了大量错误的URL,例如 www.example.de/pt/ www.example.de/es/ www.example.de/cn/ 它们指向未为此域设置的语言 我在htaccess中摆弄,用通配符(?)将错误的URL重定向到.tld 我
www.example.de
可以是de/en/fr
,但不能是www.example.de pt/es/cn
现在我把事情搞砸了,谷歌索引了大量错误的URL,例如www.example.de/pt/
www.example.de/es/
www.example.de/cn/
它们指向未为此域设置的语言
我在htaccess中摆弄,用通配符(?)将错误的URL重定向到.tld
我正在寻找解决办法
www.example.de/pt/* to www.example.de/
www.example.de/es/* to www.example.de/
www.example.de/cn/* to www.example.de/
其中,*应表示语言参数后面的完整sting/路径
当然,对于.com域也有相同的过程
www.example.com/fr/* to www.example.com/
www.example.com/de/* to www.example.com/
我在网上上下搜索,但没有任何结果。任何帮助都将非常感激
再向前迈出一小步
RewriteCond %{HTTP_HOST} ^www.example.de
RewriteRule ^cn/(.*)$ http://www.example.de/ [L,R=301]
RewriteRule ^pt/(.*)$ http://www.example.de/ [L,R=301]
RewriteRule ^es/(.*)$ http://www.example.de/ [L,R=301]
这似乎有效
现在是第二个域,因为我需要区分.com和.de
RewriteCond %{HTTP_HOST} ^www.example.com
RewriteRule ^de/(.*)$ http://www.example.com/ [L,R=301]
RewriteRule ^fr/(.*)$ http://www.example.com/ [L,R=301]
现在,它将中断www.example.de/fr/which
,并将其重定向到www.example.com
看起来第一个条件是匹配的,最后一个规则适用于法语
如何限制仅将它们分配给相应域条件的规则?确定看起来每个条件和相应的规则都需要在一行中重复写入
RewriteCond %{HTTP_HOST} ^www.example.de
RewriteRule ^cn/(.*)$ http://www.example.de/ [L,R=301]
RewriteCond %{HTTP_HOST} ^www.example.de
RewriteRule ^pt/(.*)$ http://www.example.de/ [L,R=301]
RewriteCond %{HTTP_HOST} ^www.example.de
RewriteRule ^es/(.*)$ http://www.example.de/ [L,R=301]
RewriteCond %{HTTP_HOST} ^www.example.com
RewriteRule ^de/(.*)$ http://www.example.com/ [L,R=301]
RewriteCond %{HTTP_HOST} ^www.example.com
RewriteRule ^fr/(.*)$ http://www.example.com/ [L,R=301]
这似乎奏效了
我们高度赞赏任何更好的解决方案