我正在尝试将服务从一台服务器迁移到另一台服务器。
这是一个简单的php
应用程序。
在第一台服务器( )上,我可以通过以下方式Apache
请求:JSON
my.vhost.myDomain.tld/apps?query=toto¶ms=aparam
在第二个(nginx
),我应该能够以同样的方式进行操作:
my.vhost.myOtherDomain.tld/apps?query=toto¶ms=aparam
这两个应用程序都包含一个,index.php
这两个 Web 服务器均能正确提供服务。但是,/apps?
在 上生成了 404 nginx
。
Apache
我猜是魔法查找php
文件来处理查询。但是,我对这些工具还不是很熟悉,我不明白服务器上到底发生了什么,Apache
以及如何配置nginx
以重现相同的行为...
文件是否index.php
作为输入进行处理?
到目前为止,我尝试指定my.vhost.myOtherDomain.tld/index.php/apps?query=toto¶ms=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 样式的配置!