按照文档配置api域名可以正常访问,但是其他域名不可以
composer 多应用域名绑定插件
代码
### nginx 第一次尝试
location / {
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header Host $host;
proxy_http_version 1.1;
proxy_set_header Connection "";
if (!-f $request_filename){
rewrite ^/(.*)$ /api/$1 break;
rewrite ^/(.*)$ /backend/$1 break;
proxy_pass http://webman;
}
}
api请求正常,然后admin的域名请求也是api,就查了 rewrite 用法。
location / {
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header Host $host;
proxy_http_version 1.1;
proxy_set_header Connection "";
if (!-f $request_filename){
if ($host = 'api域名') {
rewrite ^/(.*)$ /api/$1 last;
}
if ($host = 'admin域名') {
rewrite ^/(.*)$ /backend/$1 last;
}
proxy_pass http://webman;
}
}
后端域名请求Test控制器下的test方法,用 $request->uri() 获取 路径为 /test 正确的路径应该为 /backend/test/
location / {
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header Host $host;
proxy_http_version 1.1;
proxy_set_header Connection "";
if (!-f $request_filename){
proxy_pass http://webman;
break;
}
if ($host = 'api域名') {
rewrite ^/(.*)$ /api/$1 last;
}
if ($host = 'admin域名') {
rewrite ^/(.*)$ /backend/$1 last;
}
}
环境为
nginx 1.22
php 7.4
https://www.workerman.net/q/7922 参考文章里面写的伪静态写法,再把nginx重置原始模样,然后就正常访问了。
#nginx
location / {
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header Host $host;
proxy_http_version 1.1;
proxy_set_header Connection "";
if (!-f $request_filename){
proxy_pass http://webman;
}
}
if (-f $request_filename){
break;
}
if ($host = 'api域名') {
rewrite ^/(.*)$ /api/$1 last;
}
if ($host = 'admin-api域名') {
rewrite ^/(.*)$ /backend/$1 last;
}
//其他域名入口也照这个仿写
//if ($host = '商家端域名') {
//rewrite ^/(.*)$ /backend/$1 last;
//}
重启 webman
论坛搜的 https://www.workerman.net/q/7922 希望有帮助
刚刚看完了,就是参考里面的一个伪静态,哈哈哈哈哈哈哈