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

时间:2011-10-12 10:15:06

标签: regex apache apache-config

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

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

/无功/网络/ HTML / mysite1 /图像/

/无功/网络/ HTML / anysitename /图像/

/无功/网络/ HTML /东西/图像/

...

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

谢谢。

2 个答案:

答案 0 :(得分:1)

试试这个:

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

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

答案 1 :(得分: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/