我刚刚将一个站点从apache迁移到了nginx,到目前为止我非常高兴。但是,服务器似乎无法识别$ _GET参数。
我读过,答案是将try_files指令更改为:
location / {
try_files $uri $uri/ /index.php?$query_string;
}
但这不适合我。我怀疑这是因为我使用的查询字符串是几个目录,其中的url类似于:
http://www.mysite.com/thedirectory/thefile?sortby=director
我无法调整try_files指令在该实例中工作,文档似乎稀疏或过时。
有什么想法吗?如果我没有解决这个问题,我将不得不回到Apache。
答案 0 :(得分:0)
我不知道你从哪里得到答案,但在你的问题的背景下,我没有看到相关性。让我们先澄清一下:
您的问题有三种可能的原因和解决方法:
uri匹配真实文件,但没有文件扩展名,这会导致php处理位置无法触发。在这种情况下,您的陈述应该是:
try_files $ uri $ uri / $ uri.php;
这是一个虚拟位置,路由器位于index.php中,就像它有许多应用程序一样,如WordPress和Magento。 在这种情况下,try_files应为:
try_files $ uri $ uri / @appname;
如果没有更多的上下文,则无法为@appname提供位置块。