thinkphp多app url方法无法获取准确url

Thinkphp6运行在nginx下并加载think_multi_app扩展后,使用url助手函数或者Route:BuildUrl()会出现永远只取到nginxserver_name中的第一个值。

两种解决方案:

  • think_multi_app扩展目录中,Url.php文件中,删除
isset($bind[$_SERVER['SERVER_NAME']]) && $domain = $_SERVER['SERVER_NAME'];
  • nginx配置文件中,修改fastcgi_params中修改
fastcgi_param  SERVER_NAME  $server_name;
修改为
fastcgi_param  SERVER_NAME  $host;

或者在include fastcgi_params后,添加

fastcgi_param  SERVER_NAME  $server_name;

0 条评论