首页 > 解决方案 > 转换 url 段以获取变量保持其他人获取变量

问题描述

我无法解决我有网址

domain.com/api/class/access/1/index.php?username=usua​​riodemo&name=sala

其中/1/ 是一个 ID,所以我需要转换 /1/ 来获取变量,例如

domain.com/api/class/access/index.php?id=1&username=usua​​riodemo&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;
}

那告诉我:

未指定输入文件。

谢谢!问候!

标签: nginxnginx-config

解决方案


您问题中的location陈述无效,可能没有必要。

如果你想重写一个以它结尾的 URI ,在处理所有 URI 的块中.php放置一个语句可能是最简单的,通常是:.rewrite.phplocation ~ \.php$ { ... }

例如:

location ~ \.php$ {
    rewrite ^(/api/class/access/)(\d+)/(index.php)$ $1$3?id=$2 last;
    ...
}

推荐阅读