我花了几个小时试图在 NGINX 中弄清楚Apache 中的其他和难以置信的微不足道的任务。
我累死...
我已经安装了 NGINX 开箱即用。
html
是根文件夹。
我
JSON 内部接口
html
html/api
html/api/v1
html/api/v1/getUsers.php
HTML 外部接口
html
html/gui
html/gui/v1
html/gui/v1/get/users/1001
我有一个工作位置块,它说明了最终目标。
location = /get/users/1001 {
add_header Content-Type text/plain;
return 200 'This non physical URL path needs to point to html/api/v1/getUsers.php?userId=1001';
}
一个人怎么可能做到这一点。我真的要回到 Apache 并且永不回头。
这是我如何通过将以下 Apache 指令放置在位于html/gui/v1
Options +FollowSymLinks
RewriteEngine On
RewriteRule ^get/users/(\d+)/?$ getUser.php?userId=$1 [L]
Nginx 重写指令的工作方式几乎与
RewriteRule
Apache2 中的相同。所以你只需要:或者,如果您更喜欢命名捕获:
所有 URI 路径都是绝对的。
由于您在标题中提到了正则表达式位置,因此您的示例可以概括为: