【发布时间】:2016-02-04 19:58:59
【问题描述】:
当出现 404 缺失页面错误时,调用此 URL:
https://domain.com/404/
在 404 文件夹内只有一个 htaccess 文件将重定向到特定语言的错误页面(子文件夹中只有一个 index.html)。
/
404
.htaccess
pt
index.html
en
index.html
htaccess 文件代码:
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
# If Accept-Language starts with 'pt',
# then redirect (only) subdirectory 'pt'
RewriteCond %{HTTP:Accept-Language} ^pt [NC]
RewriteRule ^/?$ %{REQUEST_URI}pt [L,NC]
# Otherwise, redirect to en
RewriteRule ^/?$ %{REQUEST_URI}en [L,NC]
</IfModule>
葡萄牙语的最终 URL 如下所示:domain.com/404/pt/
我需要进行哪些更改才能使 URL 仍重定向到特定语言子文件夹中的 index.html,但看起来像 domain.com/404(带有或不带有斜杠)?
谢谢。
【问题讨论】:
-
从外部重定向 404 是一个坏主意,因为这样依赖于 HTTP 状态代码信息的客户端(例如搜索引擎机器人)将无法获得他们最初请求的资源的状态代码不再是 404。
标签: .htaccess redirect mod-rewrite