apache配置文件中的正则表达式

问题描述 投票:1回答:2

我需要为我服务器上的某些目录关闭php_flag。

目录名称为'images /',位于以下目录中:

在/ var / www / html等/ mysite1 /图片/

在/ var / www / html等/ anysitename /图片/

在/ var / www / html等/事/图片/

....

我需要在apache配置文件中插入什么正则表达式?

谢谢。

regex apache apache-config
2个回答
1
投票

试试这个:

/var/www/html/(mysite1|something|[^/]+)/images/

含义:“mysite”或“something”或“包含除正斜线之外的任何字符序列”。


0
投票

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/
© www.soinside.com 2019 - 2024. All rights reserved.