使用htaccess隐藏URL中的目录不起作用

时间:2014-03-10 06:04:45

标签: .htaccess mod-rewrite mod-security

我有website1.com设置,以便当用户访问website1.com时,他们会通过index.html中的元标记重定向到website1.com/directory

然后他们使用该网站并访问诸如website1.com/directory/index.html之类的链接。我试图隐藏链接中的“目录”,以便用户只能看到website1.com/index.html

我已将hta​​ccess放在website1.com/directory/.htaccess上,将网址重写为website1.com/index.html

我没有做任何其他特别的事情,这应该是一件容易的事。我目前的确切htaccess如下:

RewriteEngine On
RewriteCondition %{REQUEST_URI} !^directory/
RewriteRule ^(.*)$ directory/$1 [L]

应该很容易......我得到的只是一个404

在我的服务器中,我有Mod_Rewrite& mod安全和怀疑其中一个导致这不起作用,但无法想象为什么。我在这里错过了什么吗?

1 个答案:

答案 0 :(得分:0)

  1. 由于%{REQUEST_URI}变量已启动/
  2. ,因此您的规则不正确
  3. 您需要将其放在文档根目录
  4. 在文档root .htaccess中使用此代码:

    RewriteEngine On
    RewriteCondition %{REQUEST_URI} !^/directory/
    RewriteRule ^(.*)$ /directory/$1 [L]