如何使用htaccess阻止访问目录?

时间:2016-08-07 14:32:49

标签: php apache .htaccess directory

如何阻止访问给定目录?这是我网站的结构:

config.php
.htaccess
classes/
|----lib/
|    |----...
|----classes.php
webroot/
|----index.php
|----ctrl/
|    |----...
|----pages/
|    |----...
|----style/
     |----...

DocumentRootwebroot。我想禁止访问以下文件夹:ctrlpagesstyle。但是,存储在这些文件夹中的文件仍然必须包含在index.php文件中。

换句话说,有一个index.php文件。它的作用是调用(包括)来自pages/的所有必要文件,...用户可以从浏览器加载index.php,但他们无法单独访问其他文件。

我写的这段代码是.htaccess文件,但它没有做任何事情:

deny from all
<Files webroot/index.php>
allow from all
</Files>

.htaccess文件位于我项目的根文件夹中(webroot/之前)。我在这里尝试做的是拒绝访问项目中除主index.php文件之外的每个目录和文件。

什么不起作用?出了什么问题?

提前谢谢。

2 个答案:

答案 0 :(得分:0)

我解决了这个问题。首先,我必须在.htaccess文件中激活httpd.conf个文件。然后我在我的.htaccess中写了这个:

<Files webroot/pages>
    deny from all
</Files>
<Files webroot/style>
    deny from all
</Files>

答案 1 :(得分:-1)

您是否要阻止人们在您的webroot中列出文件? 如果是这样,您可以在htaccess文件中添加以下选项:

Options -Indexes