我试图通过评估客户http Accept-Language头来生成纯粹基于Apache mod_rewrite规则的语言依赖404(也是其他错误)页面。 我已经设法显示正确的页面(英文默认)与这个规则:
RewriteEngine on RewriteBase / RewriteCond %{REQUEST_filename} !-f RewriteCond %{SCRIPT_filename} !-d RewriteCond %{http:Accept-Language} ^es [NC] RewriteRule (.+) /esp/error404.PHP [L] RewriteCond %{REQUEST_filename} !-f RewriteCond %{SCRIPT_filename} !-d RewriteRule (.+) /eng/error404.PHP [L]
我的问题是,我想保持404错误,我明白redirect不允许这种types的标志。 我在任何情况下都不是100%确定是否真的值得search引擎优化明智,因为它可能最好没有404s,但我认为这将更符合逻辑和维护日志一致等,但我根本无法如何通过apache和http实现:Accept-Language。
任何意见将主要赞赏。
Wampserver图标不会完全绿色,MysqL服务不启动?
PHP的乐趣与Apache 500错误
将非www和非httpsredirect到https:// www
htaccess密码保护,但不在本地主机上
Python CGI可执行脚本下载/显示脚本代码
Restler API框架安装
Python 3.4导致Apache2服务器(Mac)上的UnicodeEncodeError,但在命令行中正常工作
安装SSH2 for PHP以在OSX 10.9.1上的Xampp Apache服务器上运行
.htaccess使用GET参数redirect
如何在一个Tomcat + Apache上部署多个Grails应用程序?
您可以使用Apache的默认错误处理程序来执行此 *** 作。
应该可以像这样定义一个Errordocument:
Errordocument 404 /parseme.PHP
然后做一个语言依赖重定向请求到/parseme.PHP像这样:
RewriteCond %{REQUEST_filename} ^/parseme.PHP$ RewriteCond %{http:Accept-Language} ^es [NC] RewriteRule (.+) /esp/error404.PHP [L] RewriteCond %{REQUEST_filename} ^/parseme.PHP$ RewriteCond %{http:Accept-Language} ^eng [NC] RewriteRule (.+) /eng/error404.PHP [L]
我从来没有尝试过,但这应该给你一个404头,错误页面也是正确的语言。
Pekka先前的回答完成了这项工作。 我在这里包括完整的代码供参考,因为它不适合评论。
我从来没有假设即使404文档指令可以重写。 只是为了澄清其他人…“parseme.PHP”文件甚至不需要存在,因为它应该重定向到通过重写。 不知道,但它似乎工作在我的情况下,只有当指令是在虚拟主机的根而不是顶级目录。 最终的代码为我工作如下:
Errordocument 404 /error_404.PHP RewriteEngine on # If spanish... use spanish error page RewriteCond %{REQUEST_filename} ^/error_404.PHP$ RewriteCond %{http:Accept-Language} ^es [NC] RewriteRule (.+) /esp/error404.PHP [L] # If prevIoUs dID not match - any language (note [L] flag on prevIoUs rule) use english RewriteCond %{REQUEST_filename} ^/error_404.PHP$ RewriteRule (.+) /eng/error404.PHP [L]
你不能像你那样解释Accept-Language头域 。 这不只是一个单一的值,而是一个加权值列表。
你应该更好地使用PHP进行语言协商,因为mod_rewrite太有限了。
总结以上是内存溢出为你收集整理的基于浏览器语言的404页面,使用mod_rewrite如何全部内容,希望文章能够帮你解决基于浏览器语言的404页面,使用mod_rewrite如何所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)