我的项目中有一个模块目录,我想阻止访问其中的 PHP 文件。此外,我在该目录中有一些应该解析的 css 和 js 文件。我在 .htaccess 中使用了这段代码
deny from all
但这也使我的 css 和 js 文件也无法访问。如何防止仅访问 PHP 文件,而不是 css 和 js 文件?
我检查了@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/文件
之后,您可以使用此指令deny for all
允许访问css
和文件js
<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>