htaccess在/重定向后重写

时间:2016-02-04 19:58:59

标签: .htaccess redirect mod-rewrite

如果缺少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>

葡萄牙语的最终网址如下所示:domain.com/404/pt/

我需要更改哪些内容,以便URL仍然会重定向到特定语言子文件夹中的index.html,但看起来像domain.com/404(有或没有斜杠)?

谢谢。

1 个答案:

答案 0 :(得分:1)

对于特定语言404的静默重写,请在/404/子目录中使用此.htaccess:

ErrorDocument 404 default
DirectoryIndex index.html
RewriteEngine On
RewriteBase /404/

# If Accept-Language starts with 'pt',
# then redirect (only) subdirectory 'pt'
RewriteCond %{HTTP:Accept-Language} ^pt [NC]
RewriteRule ^/?$ pt/index.html [L]

# Otherwise, redirect to en
RewriteRule ^/?$ en/index.html [L]