【发布时间】:2011-01-04 21:44:11
【问题描述】:
我试图通过评估客户端 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 错误,并且我理解重定向不允许这种类型的标志。在任何情况下,我都不能 100% 确定它是否真的值得 SEO 明智,因为完全没有 404 可能会更好,但我认为这会更合乎逻辑并保持日志一致等,但我根本想不通如何通过 apache 和 HTTP:Accept-Language 来实现。
任何 cmets 将不胜感激。
【问题讨论】:
标签: apache mod-rewrite http-status-code-404