如何在htaccess中更改根目录

时间:2018-12-03 15:41:07

标签: apache .htaccess mod-rewrite

我有一个双语的网站,我想通过创建一个"/en"子目录及其所有页面来解决该问题。 我可以进入example.com/en/page URL,但是我想将example.com/en设为根目录,因此基于"/another-page"的任何重定向都将转到example.com/en/another-page,而不是{{1} }

我尝试通过以下命令使用.htaccess:

example.com/another-page

但是没有用。关于如何进行这项工作的任何想法?

1 个答案:

答案 0 :(得分:0)

您在问题中发布的代码是“重写”,而不是“重定向”,因此可能是潜在的问题。如果您的应用程序是从REQUEST_URI获取语言的,那么它将看不到包含该语言的重写URL。

在网站根目录的.htaccess顶部尝试以下操作:

RewriteEngine On

RewriteRule !^(en|xx)($|/) /en%{REQUEST_URI} [R,L]

xx是另一种语言。

不需要检查REQUEST_URI服务器变量的条件,因为应该在RewriteRule pattern 中进行检查。我已经取消了对HTTP_HOST的检查,因为在这个特定示例中这似乎是多余的?