拒绝来自域的目录路径

时间:2014-04-29 09:34:31

标签: php regex apache .htaccess mod-rewrite

我的网站设置如下:

├─ example.com
|  └─ blog

我的特定主机控制面板不允许我在其他地方托管我的子域。现在可以通过两种方式访问​​blog/文件夹:

example.com/blog
blog.example.com

我不希望用户访问第一条路径,这样就可以通过这样的访问来解决子域的安全问题。所以我在根.htaccess文件夹中创建了example.com,这样:

RewriteEngine on
RewriteRule ^/blog/? /index.php [L]

上面的代码在几个帖子中提出,但似乎没有用!您能否指导我确保用户无法通过导航到blog/来访问example.com/blog/文件夹。提前谢谢。

1 个答案:

答案 0 :(得分:1)

这条规则无效。将此规则作为/blog/.htaccess中的第一条规则:

RewriteEngine On
RewriteBase /blog/

RewriteCond %{HTTP_HOST} !^blog\. [NC]
RewriteRule ^ /index.php [L,R]

这意味着如果主机名称不是以blog.开头,而请求是/blog/中的任何资源,则返回/index.php