我有一个多域和多语言的typo3安装,并不是每个域都设置了每种语言。
语言 de/fr/en/pt/es/cn/
www.example.de
可以是de/en/fr
但不是
www.example.de pt/es/cn
现在我搞砸了......和谷歌索引了大量错误的网址,例如
www.example.de/pt/
www.example.de/es/
www.example.de/cn/
他们指向未为此域设置的语言
我正在摆弄htaccess,将带有通配符(?)的错误网址重定向到.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 / path。
导致.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/whatever
并将其重定向到www.example.com
。
所以看起来第一个条件是匹配的,最后一个规则适用于法语。
如何限制仅将其分配给适当的域条件的规则?
答案 0 :(得分:0)
好的看起来每个条件和相应的规则都需要在一行中重复写入
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]
这似乎有效。
非常感谢任何更好的解决方案