正则表达式允许除一个以外的所有php文件

Tim*_*Tim 2 regex .htaccess

我有这个正则表达式,允许所有的PHP文件:

^.*\.([Pp][Hh][Pp])
Run Code Online (Sandbox Code Playgroud)

如何排除特定文件,例如test.php?

谢谢你的回答,祝你好运

[编辑]我省略说它是来自htaccess文件的reg,/ i似乎不起作用,而且?都不是.[Edit2]目的是授予对经过身份验证的用户的访问权限,但每个人必须允许的一个文件除外.所以我做到了:

<Files ~ "^.*\.([Pp][Hh][Pp])$">
AuthUserFile /directory/.htpasswd
AuthGroupFile /dev/null
AuthName "Please log in ..."
AuthType Basic
require valid-user
</Files>
Run Code Online (Sandbox Code Playgroud)

所以,所有php文件都需要有效的用户.test.php说,我想为特定文件添加一个例外

Mar*_*ers 5

您可以使用否定前瞻:

^(?!test\.php$).*\.([Pp][Hh][Pp])$
Run Code Online (Sandbox Code Playgroud)

使用不区分大小写的正则表达式而不是[Pp]为每个字母编写类似的东西可能更好.

"/^(?!test\.php$).*\.php$/i"
Run Code Online (Sandbox Code Playgroud)