nginx 为何重定向到一个陌生的 URL?

nginx 为何重定向到一个陌生的 URL?

我刚刚在服务器上设置了 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

相关内容