问题标签 [nginx-location]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
nginx - Nginx 位置匹配
有什么区别:
和
nginx - 如何控制 NGINX 'Location' 指令匹配顺序?
我正在尝试优化我的“位置”指令,但找不到确定是否尝试特定位置匹配的好方法。在 location 块内使用echo
在这里没有帮助。
NGINX ngx_http_core_module 文档有些混乱。
要使用正则表达式,您必须使用前缀:
~
对于区分大小写的匹配~*
对于不区分大小写的匹配
比赛如何进行:
=
带有与查询完全匹配的前缀的指令。如果找到,则停止搜索。所有剩余的带有常规字符串的指令。如果此匹配使用了
^~
前缀,则搜索停止。正则表达式,按照它们在配置文件中定义的顺序。
如果 #3 产生匹配,则使用该结果。否则,使用来自#2 的匹配。
此处的数字 2 表示“常规字符串”,但随后表示它可以与^~
前缀一起使用。并不~
意味着正则表达式?如果不是,它如何确定什么是非正则表达式?
具体来说,我想要以下内容:
直接提供任何文字
/assets
。停止搜索。\.php$|/$
通过快速 CGI STOP SEARCH 提供与 RegExp 匹配的任何内容。通过文字直接提供其他所有内容
/
这样,只有/
从资产外部提供的非动态文件的匹配尝试。
我有:
从文档来看,实际顺序似乎是 1-3-2,始终运行文字/
匹配。是的,这种优化不会对实际性能产生任何影响,但我只是想澄清一些歧义。
php - 在 nginx 中阻止 apc.php 文件
我试图阻止我的网络服务器上的 apc.php 文件。如果执行以下操作,但我认为有更好的方法可以做到这一点,并将拒绝/允许规则放在一般位置 ~ .php$ 块下方。必须有两个带有 fastcgi 参数的块似乎不正确。
nginx - Yii 2 高级应用模板的 Nginx 配置
我想以这样的方式配置 Nginx 网络服务器:
- 对 URI 的请求
/index.php
应由public_html/frontend/web/index.php
- 对 URI 的请求
/admin/index.php
应由public_html/backend/web/index.php
请在我错的地方提出建议。这是我的配置:
php - 具有多个位置块的 nginx 配置
我正在尝试将 nginx 配置为从 2 个不同的位置提供 2 个不同的 php 脚本。配置如下。
- 我有一个 Laravel 安装,它所在的目录应该
/home/hamed/laravel
在其中提供服务。public
- 我在
/home/hamed/www/blog
.
这是我的nginx
配置:
问题是当尝试通过调用example.com/blog
仍然 laravel 安装接管请求来访问 wordpress 部分时。
现在我尝试替换块root
内的指令但无济于事。 location
alias
根据本指南,具有index
指令或try_files
内部location
会触发我怀疑会导致此行为的内部重定向。
有人可以帮我解决这个问题吗?
nginx - 如何编写这个 nginx 重写规则
我有一个像这样的 nginx 重写规则
这条规则的意思是:如果 URI 是 /question-123456.html 那么重写为 /question/123456.html /question/123456.html 是静态文件,并通过 question.php 来创建。
所以当我访问http://example.com/question-123456.html HTTP rewrite to http://example.com/question/123456.html如果不存在,我想执行下一次重写rewrite "^/question-([0-9]+).html$" /question.php?id=$1&lm=&pn= break;
除了向用户返回 404。
nginx - 在 try_files 指令中使用来自 nginx 位置的正则表达式匹配
我在 nginx 服务器块配置中有以下位置块:
它可以工作,但是我将来需要添加更多位置,我想将其减少到只有一个使用 uri 段的位置块来应用 try_files 指令配置,如下所示:
但是当我尝试加载页面时,我在 chrome 的控制台中收到了这条消息。
资源解释为 Document,但使用 MIME 类型 application/octet-stream 传输:“ http://33.33.33.33/eci-new/public/rms/product-normalization ”。
如何使 nginx 配置正常工作?并将请求发送到 php 处理器?
nginx - 如何使用 nginx 位置限制访问以匹配带有字符串和数字的表达式的 url?
我有以下路径作为 Nginx 位置:
/api/用户
我的用户访问的 url 是 /api/users?id=109238717283223
问题是我不希望直接路径 /api/users 可访问,目标是仅当 url 包含 users?id=number(具有确切的位数)时才允许访问
我怎么能用正则表达式实现这一点?
nginx - 如何在将请求传递给 nginx 反向代理服务器之前更改请求参数
我正在使用 Nginx 将请求代理到某个后端服务器。为此,我使用 proxy_pass 模块进行重定向。配置文件:位置 = /hello { proxy_pass: abc.com }
我想执行以下工作流程。对 nginx 服务器的请求 --> 更改请求参数 --> 将请求传递给 abc.com --> 更改响应参数 --> 将响应发送回客户端。
这可能与 nginx 吗?任何有关此问题的帮助/指示将不胜感激。
post - 添加由 NGINX 提供的静态内容的最佳实践?
我找到了有关如何使用 NGINX 提供静态内容的大量文档,但我还没有找到一个很好的信息来源以及添加内容(文件系统中的文件)的最佳实践。发布是否可以接受?还是 NGNIX 通过设计将实际的内容群委托给另一个进程?