Nginx重写的多个条件
发布时间:2020-12-13 21:14:06 所属栏目:Nginx 来源:网络整理
导读:我正在尝试找到重写此规则的最佳方法,以便它可以在nginx上运行: RewriteCond %{REQUEST_URI} !^/clip-art/.*$ RewriteCond %{REQUEST_URI} !^/Clip-Art/.*$ RewriteCond %{REQUEST_URI} !^/cgi-bin/.*$ RewriteCond %{REQUEST_URI} !^/images/.*$ RewriteCo
我正在尝试找到重写此规则的最佳方法,以便它可以在nginx上运行:
我知道我可以这样做:
但显然只适用于其中一个文件夹名称.如何使其与多个文件夹名称一起使用? 最佳答案
正则表达式效率相对较低,并且当其他方法足够时,通常不鼓励使用Nginx配置.这里有一些不需要正则表达式的情况:
如果您只是提供至少三个静态图像,我们可以使它更简单. ^?前缀意味着这些规则将优先于基于正则表达式的规则,否则这些规则优先.虽然这有很多用途,但在处理仅包含静态资源的目录时,它可以作为安全功能.如果有人设法上传通常由正则表达式位置处理的PHP文件或其他可执行代码,则前正则表达式位置(使用^?)将获胜,并且该文件将不会被执行.我也省略了典型的$uri /因为它不适用于静态资源目录.
至于其余条件,Nginx旨在从每个URI的开头开始匹配.理想情况下,您可以在应用程序中处理这些类型的场景,而不是在Nginx中.但是,在此特定实例中,可以编写相对有效的正则表达式:
(编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
相关内容
- nginx-我陷入了logrotate之谜
- ruby-on-rails – 检测Rails是否正在运行站点
- 使用协议升级在nginx反向代理后面运行daphne始终路由到http
- nginx – 如何使用Angular-Cli运行PM2? – Angular2
- 使用带有Nginx的try_files将所有对非现有文件的请求重写为i
- nginx – 将多个目录限制为相同的IP范围
- 网络应用程序 – 在同一服务器上运行Tornado和Nginx
- nginx – proxy_set_header无效
- apache-2.2 – 使用nginx进行负载均衡时,每秒请求速度较慢
- apache-2.2 – 如何在同一台服务器上运行两个不同的Web服务