1

在 httpd.conf 我想允许一个主路径但不允许一个特定的子文件夹。

必须接受具有此模式的任何 url:

/app-1.0/公共

/app-1.0/图像

/app-1.0/

但是这个必须被忽略/不允许。

/app-1.0/私人

我想在 apache 2.2.3 版上使用这个配置。我读过那个版本不支持否定正则表达式,但我不确定。

提前谢谢了。

4

1 回答 1

1

如果您想禁止任何以开头/app-1.0/然后拥有的路径private,您可以使用

^/app-1\.0/(?!private).*

查看正则表达式演示

图案说明

  • ^- 字符串开头(如果文本不在开头,则删除)
  • /app-1\.0/- 文字/app-1.0/文本(点必须被转义才能被视为文字点)
  • (?!private)private- 如果在当前位置之后有文本,则匹配失败(=不允许)的否定前瞻
  • .*- 除换行符以外的任何 0+ 个字符

注意:在我原来的评论中,我建议/app-1\.0/(?!private$).*使用$after的模式private。该模式不允许(=不匹配)包含/app-1.0/private在末尾的字符串($是字符串结尾的锚点)。

于 2016-07-07T17:15:07.600 回答