将服务器从 Apache 迁移到 Nginx - 如何处理我的请求?

将服务器从 Apache 迁移到 Nginx - 如何处理我的请求?

我正在尝试将服务从一台服务器迁移到另一台服务器。

这是一个简单的php应用程序。

在第一台服务器( )上,我可以通过以下方式Apache请求:JSON

my.vhost.myDomain.tld/apps?query=toto&params=aparam

在第二个(nginx),我应该能够以同样的方式进行操作:

my.vhost.myOtherDomain.tld/apps?query=toto&params=aparam

这两个应用程序都包含一个,index.php这两个 Web 服务器均能正确提供服务。但是,/apps?在 上生成了 404 nginx

Apache我猜是魔法查找php文件来处理查询。但是,我对这些工具还不是很熟悉,我不明白服务器上到底发生了什么,Apache以及如何配置nginx以重现相同的行为...

文件是否index.php作为输入进行处理?

到目前为止,我尝试指定my.vhost.myOtherDomain.tld/index.php/apps?query=toto&params=aparam 但收效甚微。
并且探索Apache配置文件也没有太多帮助。

答案1

您可能正在 Apache 中使用 mod_rewrite,它会改变服务器处理 URL 的方式。

你可以试试:

rewrite  ^apps$ apps.php last;

查看http://nginx.org/en/docs/http/converting_rewrite_rules.html

答案2

对于那些可能通过谷歌找到这篇文章的人来说:

查看隐藏的.htaccess,并在 nginx 配置中重写其规则。

有些网站可以将.htaccess 样式转换为 nginx 样式的配置!

相关内容