nginx - 转换 url 段以获取变量保持其他人获取变量
问题描述
我无法解决我有网址
domain.com/api/class/access/1/index.php?username=usuariodemo&name=sala
其中/1/ 是一个 ID,所以我需要转换 /1/ 来获取变量,例如
domain.com/api/class/access/index.php?id=1&username=usuariodemo&name=sala
那是纯 PHP 不是框架我的 index.php 位于文件夹 api/class/access/index.php
我有这个我尝试其他人,但这更好地解释了我想做的事情
location /api/class/access/(.*)/* {
try_files $uri $uri/ /api/class/access/index.php?id=$1&$query_string;
}
那告诉我:
未指定输入文件。
谢谢!问候!
解决方案
您问题中的location
陈述无效,可能没有必要。
如果你想重写一个以它结尾的 URI ,在处理所有 URI 的块中.php
放置一个语句可能是最简单的,通常是:.rewrite
.php
location ~ \.php$ { ... }
例如:
location ~ \.php$ {
rewrite ^(/api/class/access/)(\d+)/(index.php)$ $1$3?id=$2 last;
...
}
推荐阅读
- python - 使用 gensim 从 fasttext 库中有效加载预训练词嵌入的内存
- python - 如何在函数中使用for循环将列表作为参数传递?
- ruby-on-rails - Rails Webpacker:停止记录“无事可做”
- firefox - 编程和编译:Chromium vs Firefox
- c# - 在 XML 中查找特定父标签的子标签
- amazon-web-services - 无法给 nlb 静态 ip
- tfs - WinRM - IIS Web 应用管理 Azure Pipelines 错误
- python - 可视化 tkinter 中两个字符串的差异
- pdf - 使用 ngf-thumbnail 将 PDF 页面放入容器中
- stata - 如何导出仅包含具有 >N 个观察值的单元格的表格?