我有这个正则表达式,允许所有的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说,我想为特定文件添加一个例外
您可以使用否定前瞻:
^(?!test\.php$).*\.([Pp][Hh][Pp])$
Run Code Online (Sandbox Code Playgroud)
使用不区分大小写的正则表达式而不是[Pp]为每个字母编写类似的东西可能更好.
"/^(?!test\.php$).*\.php$/i"
Run Code Online (Sandbox Code Playgroud)