所以我昨天一整天都在寻找我的问题的解决方案,发现了相似之处,但没有完全匹配。我尝试编写一个 .htacces 文件,该文件应该检查浏览器语言,然后将用户重定向到 (GERMAN) xyz.de/?lang=de&page=$1 或 (NONGERMAN) xyz.de/?lang=en&page=$1
它应该以浏览器的语言自动加载主页。到目前为止,我没有再遇到 500 个错误,它在IE上运行得很好,并且确实以正确的语言加载了页面,这给我留下了深刻的印象。但在 Firefox 或 Chrome 中,它既不显示语言也不显示页面;如果我 var_dump($_GET) 我什么也得不到。
.htaccess
RewriteEngine on
RewriteCond %{HTTP_ACCEPT_LANGUAGE} ^(de|de-at|de-li|de-lu|de-ch) [NC]
RewriteRule ^([^./]{3}[^.]*)$ /index.php?lang=de&page=$1 [QSA,L]
RewriteCond %{HTTP_ACCEPT_LANGUAGE} !^(de|de-at|de-li|de-lu|de-ch) [NC]
RewriteRule ^([^./]{3}[^.]*)$ /index.php?lang=en&page=$1 [QSA,L]<i>
[IE9] xyz.de
var_dump($_GET)
数组(2) { ["page"]=> string(0) "" ["lang"]=> string(2) "de" }
[壁虎] xyz.de
var_dump($_GET)
数组(0){}
[壁虎] xyz.de/home
var_dump($_GET)
有人知道问题是什么吗????
数组(2) { ["lang"]=> 字符串(2) "en" ["page"]=> 字符串(4) "home" }
// 改变
感谢上一篇文章,我更改了以下代码:
RewriteCond %{HTTP:ACCEPT_LANGUAGE} !^(de) [NC]
RewriteRule ^([^./]{3}[^.]*)$ /index.php?page=$1&lang=en [QSA,L]
RewriteRule ^([^./]{3}[^.]*)$ /index.php?page=$1&lang=de [QSA,L]
现在它什么都不重定向,就在我把 /home oder secondpage 或任何东西放在里面时,它总是以英文加载页面,并且它应该将页面重定向到 xyz.de/lang=[ACCEPT-LANG]&page=home 如果你按 xyz.de