拒绝直接访问具有重定向的目录



我有以下情况:

我的服务器有一个output目录,永远不应该直接访问,相反,根url应该重定向到它:

  • 访问mydomain.com/test.html将在内部显示output/test.html的内容
  • Acessingmydomain.com/output/test.html应返回404

使用此.htaccess:可以轻松归档第一点

RewriteEngine On
RewriteRule ^(?!output/)(.*)$ output/$1 [L]

问题是,如果我尝试直接访问mydomain.com/output/test.html,它也允许。

我试着添加第二条规则:

RewriteCond %{THE_REQUEST} ^output/ [NC]
RewriteRule ^output - [F]

但它显然影响了第一个,所以任何东西都可以在服务器上访问。

您的条件模式是错误的。您需要与完整的THE_REQUEST字符串进行匹配。

更改重写和

RewriteCond %{THE_REQUEST} ^output/ [NC]

RewriteCond %{THE_REQUEST} /output/ [NC]

最新更新