.htaccess拒绝只访问PHP文件

时间:2013-04-30 06:26:35

标签: php .htaccess

我的项目中有一个模块目录,我想阻止访问其中的PHP文件。 此外,我在该目录中有一些应该被解析的css和js文件。我在.htaccess中使用了这段代码

deny from all

但它使我的css和js文件也无法访问。我怎样才能阻止只访问PHP文件,而不能访问css和js文件?

2 个答案:

答案 0 :(得分:1)

我检查了@xbonez代码并且它给了我同样的错误。

我正在使用此代码(已测试):

Options -Indexes

RewriteEngine on

RewriteCond %{REQUEST_URI} !\.(css|js)$ [NC]
RewriteRule .+ - [F,L]

请务必设置Options -Indexes,以便您的文件夹无法浏览。

修改

备注:
*此代码必须放入.htaccess文件并将其放在所需目录中 * %{REQUEST_URI} =您要求的相对网址。示例:directory/style.css
* !\.(css|js)$ =每个不以css或js结尾的文件 * .+ - [F,L] =禁止请求的网址/文件

答案 1 :(得分:0)

deny for all之后,您可以使用此指令访问cssjs个文件

<FilesMatch "*\.(css|js)$">
    Order Allow,Deny
    Allow from all
</FilesMatch>

您的最终htaccess应该看起来像这样:

Order Deny,Allow
Deny from all

<FilesMatch "*\.(css|js)$">
    Order Allow,Deny
    Allow from all
</FilesMatch>