我有这个允许所有 php 文件的正则表达式:
^.*\.([Pp][Hh][Pp])
如何排除特定文件,例如 test.php ?
谢谢你的回答, 最好的问候
[编辑] 我省略了说它是来自 htaccess 文件的 reg,/i 似乎不起作用,而 ?两者都不。 [编辑2] 目的是向经过身份验证的用户授予访问权限,但必须允许每个人访问一个文件。 所以我已经完成了:
<Files ~ "^.*\.([Pp][Hh][Pp])$">
AuthUserFile /directory/.htpasswd
AuthGroupFile /dev/null
AuthName "Please log in ..."
AuthType Basic
require valid-user
</Files>
因此,所有 php 文件都需要有效的用户。 我想为特定文件添加异常(exception),test.php 说
最佳答案
您可以使用 negative lookahead :
^(?!test\.php$).*\.([Pp][Hh][Pp])$
最好使用不区分大小写的正则表达式,而不是为每个字母编写诸如 [Pp]
之类的内容。
"/^(?!test\.php$).*\.php$/i"
关于正则表达式允许除一个之外的所有 php 文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2880899/