首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >拒绝使用FilesMatch访问所有PHP文件,但对一个文件设置一个例外

拒绝使用FilesMatch访问所有PHP文件,但对一个文件设置一个例外
EN

Webmasters Stack Exchange用户
提问于 2019-11-17 21:15:38
回答 1查看 7.6K关注 0票数 7

目前,我使用htaccess拒绝访问目录中的任何PHP文件,但拒绝访问同一目录中的JS、PNG、CSS文件。

代码语言:javascript
复制
Order deny,allow
Deny from all

但是,如果我想为一个文件(例如“foobar.php”)破例怎么办?我可以在一个htaccess中写多个语句吗?执行的顺序是什么?

EN

回答 1

Webmasters Stack Exchange用户

回答已采纳

发布于 2019-11-17 22:44:25

我可以在一个htaccess中写多个语句吗?

可以,停那儿吧。相同上下文中的多个容器(即。.htaccess)按顺序合并。因此,您可以阻止所有的.php文件,并允许一个特定的foobar.php文件-按照这个顺序。

例如:

代码语言:javascript
复制
# Block all ".php" files

Order deny,allow
Deny from all


# Permit a specific ".php" file

Order deny,allow
Allow from all

或者,您可以使用单个容器,并在regex中使用负前瞻性来排除特定文件:

代码语言:javascript
复制
# OR use a negative lookahead...

Order deny,allow
Deny from all

负前瞻性断言(?!foobar\.php$)确保正则表达式与foobar.php不匹配,同时匹配所有其他.php文件。

请注意,OrderDenyAllow严格来说是Apache2.2指令。如果您使用Apache2.4,那么您可能应该分别将其更改为Require all deniedRequire all granted (前提是您已经在整个系统中更改为mod_authz_core )。

还请注意,容器应用于当前目录和所有子目录。

票数 6
EN
页面原文内容由Webmasters Stack Exchange提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://webmasters.stackexchange.com/questions/126222

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档