我刚刚在服务器上设置了 nginx。我有 PHP,一切正常。除了当我尝试 URL
http://xxx.xxx.xxx.xxx/123
我被重定向到
http://_/123
但当我尝试网址时
http://xxx.xxx.xxx.xxx/123/
它正如我所希望的那样工作。我怎样才能让 nginx 妥善处理无斜线 URL?
答案1
检查你的 php。我之前也遇到过类似的问题
redirect($_SERVER['SERVER_NAME'])
在我的 login.php 中。我将其替换为
redirect($_SERVER['HTTP_HOST'])
现在一切都很好。$_SERVER['SERVER_NAME']
是 nginx 中 server_name 指令中的第一个域,也是$_SERVER['HTTP_HOST']
请求中的域。
答案2
在您的配置中尝试这个:
server_name_in_redirect off;
请参阅此处的相关文档:
http://wiki.nginx.org/HttpCoreModule#server_name_in_redirect