回答
收藏
分享
举报
请教一个URI正则表达式
提问于2023-04-15 12:36

浏览 3.2k

文章标签

location ~ \.(_.*|DS_Store|Spotlight-V100|TemporaryItems|Trashes|hidden|localized)$ {}

请问,小括号里面的 _.* 表示的是什么意思呢?

在线等,感谢!

已修改于2023-04-15 12:36



写下您的回答
发表回答
全部回答(1)

按点赞数排序

按时间排序

在一般的正则表达式中,`_.*` 表示匹配以下划线(_)开头的任意字符序列,其中 `.*` 表示匹配任意数量的任意字符。也就是:

- `_`:匹配下划线字符。

- `.*`:匹配任意数量(零个或多个)的任意字符。


因此,正则表达式 `_.` 可以匹配以下内容(以 `_` 开头的任意字符序列):


- `_abc`

- `_123`

- `_xyz123`


在给定的 NGINX 配置中,使用 `location ~ \.(_.*|DS_Store|Spotlight-V100|TemporaryItems|Trashes|hidden|localized)$ {}` 这个配置块可以用于匹配一系列文件和目录,包括两种情况:


1. 以下划线开头的文件或目录(例如,`_private`、`_hidden`)。

2. 特定文件或目录,如 macOS 中的 `.DS_Store`、`Spotlight-V100`、`TemporaryItems`、`Trashes`、`hidden` 和 `localized`。


看问题里这个配置块的目的感觉是为了阻止访问或执行某些特定文件或目录,增加服务器的安全性的吧,把这些特定的文件和目录列在配置块中,加上用正则表达式匹配,能有效地屏蔽对它们的访问。

赞同

0

回复举报

回答于2023-09-01 15:41



回复LiuX
回复
提问者
8530308bdnq
这家伙很懒还未留下介绍~
0
文章
1
问答
0
粉丝
相关问答

options请求?需要跨域访问? 

点赞 0
浏览 7.8k

sticky模块只能在linux下吧,win下没有。tomcat好像有个session复制吧,或者可以用共享session。

点赞 0
浏览 7.7k

没办法完全不受影响的,因为mirror是子请求,当子请求未结束时,主请求消耗的内存至少是无法释放的。你可以尝试在/mirror里,把超时时间大幅度调低,包括connect/read/send,再压下看看。

点赞 0
浏览 10.4k