2013-04-30 158 views
0

我在我的项目中有一个模块目录,我想阻止访问其中的PHP文件。 除此之外,我还应该解析该目录中的一些css和js文件。我在.htaccess中使用此代码.htaccess拒绝访问只是PHP文件

deny from all 

但它使我的CSS和JS文件无法访问。我怎样才能防止访问只是PHP文件,而不是CSS和JS文件?

回答

1

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

我使用这个代码(测试):

Options -Indexes 

RewriteEngine on 

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

记得设置Options -Indexes,使您的文件夹无法浏览。

编辑:

注:
*此代码必须被放入.htaccess文件并将其放置你想要的目录
* %{REQUEST_URI} =你有什么要求相对URL里面。例如:directory/style.css
* !\.(css|js)$ =凡不与CSS或JS文件末尾
* .+ - [F,L] =禁止请求的URL /文件

+0

谢谢@machineaddict,我通过删除星星来解决它。代码应该是: Alireza 2013-04-30 07:42:38

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> 
+0

谢谢xbonez,我用你的代码,但它仍然无法解析JS和css文件。现在在“查看模式”模式下,当我点击js和css文件时,它会给我“服务器错误!”错误500 – Alireza 2013-04-30 06:47:16