在重定向后阻止访问域中的子文件夹

时间:2013-10-24 21:06:21

标签: regex .htaccess mod-rewrite redirect

假设我有以下“mydomain.com”指向文件夹“public_html”。

我想将所有 mydomain.com 重定向到 mydomain.com/prod/public 文件夹,因此我编辑了.htaccess文件,如下所示:

RewriteEngine on
RewriteCond %{HTTP_HOST} ^(www.)?mydomain.com$
RewriteCond %{REQUEST_URI} !^/prod/public/
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ /prod/public/$1

RewriteCond %{HTTP_HOST} ^(www.)?mydomain.com$
RewriteRule ^(/)?$ prod/public/index.php [L]

更改按预期工作,YAY !!!

如何通过以下请求阻止访问网站:

http://mydomain.com/prod/public/

 http://mydomain.com/prod/public/index.php

1 个答案:

答案 0 :(得分:1)

将此规则作为第一条规则放在prod/public/.htaccess文件中:

RewriteEngine on

# direct access forbidden
RewriteCond %{THE_REQUEST} ^[A-Z]{3,}\s/+prod/public(/index\.php|/?)?[\s?] [NC]
RewriteRule ^ - [F]