我开发了一个php网站,我使用的语言脚本显示英文版如果lang查询字符串是en,德语的de等等。所以这个网址是website.com/?lang=en,为了使它更友好,我现在使用了RewriteRule ^((en|de|cz|hu|ro|sk)?)/(.*) /$3?lang=$1 [QSA,NC,L],问题是它显示了website.com/en的正确语言,但在website.com/en/上也显示了相同的语言。我想重定向到404或一次/en/。
我想将自动重定向从website.com/?lang=en设置为website.com/en/
发布于 2018-03-19 14:27:39
试试这个:
RewriteEngine On
RewriteCond %{THE_REQUEST} ^[A-Z]{3,7}\s(.+)?\?lang=(en|de|cz|hu|ro|sk)\sHTTP.*$
RewriteRule ^         /%2%1? [L,R=301]
RewriteRule ^(en|de|cz|hu|ro|sk)/((?!((en|de|cz|hu|ro|sk)/)).*) /$2?lang=$1 [L]注释:清除浏览器缓存,然后进行测试。
https://stackoverflow.com/questions/49363486
复制相似问题