我需要为我服务器上的某些目录关闭php_flag。
目录名称为'images /',位于以下目录中:
在/ var / www / html等/ mysite1 /图片/
在/ var / www / html等/ anysitename /图片/
在/ var / www / html等/事/图片/
....
我需要在apache配置文件中插入什么正则表达式?
谢谢。
试试这个:
/var/www/html/(mysite1|something|[^/]+)/images/
含义:“mysite”或“something”或“包含除正斜线之外的任何字符序列”。
Apache使用与Perl兼容的正则表达式提及here。
您可以使用此在线工具检查正则表达式:https://regex101.com/r/gO4eS8/5
正如在Apache's documentation中提到的,Apache从版本2.2了解v5 Perl兼容正则表达式(PCRE)。
对于这种情况,以下正则表达式应该完成工作(匹配目录和内容):/var/www/html/(|[^/]+)/images/?(?:[^\/]+)?$
测试字符串:
/folder1/images/test1
/var/www/html/images
/folder2/images/test1
/folder2/mysite1/test2
/var/www/html/mysite2/images/foo.png
/var/www/html/anysitename/images/
/var/www/html/something/images/
字符串匹配:
/var/www/html/mysite2/images/foo.png
/var/www/html/anysitename/images/
/var/www/html/something/images/