Apache ErrorDocument依赖于浏览器语言
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Apache ErrorDocument依赖于浏览器语言相关的知识,希望对你有一定的参考价值。
我们想创建一个不同的语言页面,这取决于浏览器语言,但它没有拿起fr和zh错误页面,有谁知道我错过了什么?
RewriteCond %{HTTP:Accept-Language} ^fr [NC]
ErrorDocument 404 /notfound_fr.html
RewriteCond %{HTTP:Accept-Language} ^zh [NC]
ErrorDocument 404 /notfound_zh.html
#RewriteCond %{HTTP:Accept-Language} !(^fr|^zh) [NC]
ErrorDocument 404 /notfound.html
答案
正如Deadooshka所说,解决方案是:
RewriteCond %{HTTP:Accept-Language} ^zh [NC]
RewriteRule ^/notfound.html$ /notfound_zh.html [P,L]
RewriteCond %{HTTP:Accept-Language} ^fr [NC]
RewriteRule ^/notfound.html$ /notfound_f.html [P,L]
另一答案
我目前正在为我的.htaccess测试类似下面的代码。到目前为止,它运作良好:
<If "req('accept-language') =~ m#^fr#i">
ErrorDocument 404 /notfound_fr.html
</If>
<ElseIf "req('accept-language') =~ m#^zh#i">
ErrorDocument 404 /notfound_zh.html
</ElseIf>
<Else>
ErrorDocument 404 /notfound.html
</Else>
以上是关于Apache ErrorDocument依赖于浏览器语言的主要内容,如果未能解决你的问题,请参考以下文章
RewriteRules 和 ErrorDocument 规则不适用于 SSL 虚拟主机