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依赖于浏览器语言的主要内容,如果未能解决你的问题,请参考以下文章

apache的配置参数

Apache自定义404界面

RewriteRules 和 ErrorDocument 规则不适用于 SSL 虚拟主机

为啥qq无法定位程序输入点?errordocument@qbepbdxz于动态链接库tinyxml.dll上

.htaccess 错误文档重定向

服务器无法读取htaccess文件