.htaccess拒绝除公共文件之外的所有直接文件请求

时间:2013-01-04 16:33:45

标签: php apache .htaccess

这是我当前的“.htaccess”文件(放在我的纪录片上):

RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]

我的项目结构是:

app/ <---- here i have all my php code
public/ <----- css/js/images
.htaccess
index.php <---- starting point

我希望拒绝直接访问我的应用文件,例如“/app/controller/controllerName.php”(我将通过使用路由器处理我的所有请求......),我该如何实现?没有触摸公用文件夹树?

1 个答案:

答案 0 :(得分:2)

对于你当前的.htaccess,如果这样做可能有意义:

ErrorDocument 404 index.php?error=404

允许服务器向客户端发送正确的“404”标头,它仍然可以让您控制响应。当你在它时,你可能也想创建400,401,403和500错误的条目。

至于拒绝访问app /文件夹,只需在其中删除.htaccess:

Deny From All