我在example.com/fruit.php
有一个页面。该页面使用ISSET()
来解析参数以决定向用户显示的内容。例如,example.com/fruit.php?name=apple&color=red
。这很容易做到,但我更愿意像这样来到页面:
mysite.com/fruit/apple/red
由于我知道只有两个参数,我可以轻松解析网址以构建我的网页。但是,我如何配置nginx,以便将example.com/fruit
的任何请求与url后面的任何内容发送到fruit.php,以便页面本身可以解析url。以下是我在我的位置块中尝试过的内容:
location ~ /fruit {
return 301 https://www.example.com/fruit.php;
}
这对我来说并不起作用,而且我已经花了一天时间试图解决这个问题。任何帮助将不胜感激。
答案 0 :(得分:0)
我认为你正在接近这个错误。
如果您正在尝试使用Web服务器创建和维护路由,那么您不可避免地会遇到问题,例如每次部署时必须在生产服务器上循环您的Web服务器服务。
除此之外,您还将Web服务器配置与应用程序紧密耦合,这不是最好的选择。
我建议使用某种路由器包来帮助维护项目的路由。
看看这方面的答案 stackoverflow question
然后,您可以配置Web服务器,使其解析为项目中的index.php文件,然后使用路由器处理应用程序中路径的逻辑。
看看你的nginx配置最终会是什么样子:stackoverflow about nginx routing using index.php as an entry point for your requests.