所以昨天我整天搜索了我的问题的解决方案,发现了相似之处,但没有完全匹配。我尝试写一个.htacces文件,它应该检查浏览器语言,然后将用户重定向到(GERMAN)xyz.de/?lang=de&page=$1或(NONGERMAN)xyz.de/?lang=en& ;页面= $ 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)
array(2){[“page”] =&gt; string(0)“”[“lang”] =&gt; string(2)“de”}
[GECKO] xyz.de
var_dump($_GET)
array(0){}
[GECKO] xyz.de/home
var_dump($_GET)
任何人都知道问题是什么????
array(2){[“lang”] =&gt; string(2)“en”[“page”] =&gt; string(4)“home”}
//更改
感谢Last Post我更改了以下代码:
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或者第二页或其中任何内容放入其中时,它总是用英语加载页面并且它应该将页面重定向到xyz.de/lang=[ACCEPT-LANG]&如果按xyz.de
,则为page = home