0

我在 有一个页面example.com/fruit.php。该页面用于ISSET()解析参数以决定向用户显示什么。例如,example.com/fruit.php?name=apple&color=red. 这很容易做到,但我宁愿请求像这样进入页面:

mysite.com/fruit/apple/red

因为我知道只有两个参数,所以我可以轻松地解析 url 来构建我的页面。但是,我如何配置 nginx,以便example.com/fruit将 url 后面的任何请求发送到fruit.php,以便页面本身可以解析 url。这是我在我的位置块中尝试过的:

location ~ /fruit {
return 301 https://www.example.com/fruit.php;
} 

这对我不起作用,我花了大约一天的时间试图弄清楚。任何帮助,将不胜感激。

4

1 回答 1

0

我认为你正在接近这个错误。

如果您尝试使用 Web 服务器创建和维护路由,您将不可避免地遇到问题,例如每次部署时都必须在生产服务器上循环您的 Web 服务器服务。

除此之外,您将 Web 服务器配置与您的应用程序紧密耦合,这不是最好的事情。

我建议使用某种路由器包来帮助维护项目的路由。

看看这个 stackoverflow 问题的答案。

然后,您可以配置 Web 服务器,使其解析为项目中的 index.php 文件,然后该文件将使用路由器处理应用程序中路径的逻辑。

看看你的 nginx 配置最终会是什么样子:stackoverflow about nginx routing using index.php as a entry point for your requests。

于 2016-06-09T21:22:47.943 回答