多应用域名绑定插件
 
                                        
                        v2.1.0
                        版本
                    
                    
                        2025-02-09
                        版本更新时间
                    
                    
                        8165
                        安装
                    
                    
                        7
                        star
                    
                简介
webman多应用域名绑定插件,可以给每个应用绑定独立的域名,并且支持url地址简写。
关于多应用请参考手册 多应用
安装
composer require webman/domain
使用
域名和应用绑定关系在 plugin/webman/domain/app.php中设置。
配置说明
return [
    'enable' => true, // 是否开启插件
    // 多应用绑定关系
    'bind' => [
        'abc.com' => '', // 不属于任何应用
        'a.abc.com'  => 'admin', // 绑定到admin应用
        'blog.abc.com'  => 'blog', // 绑定到blog应用
    ],
    // 绑定关系,域名,应用的验证逻辑,返回true时认为符合绑定关系,反之不符合返回404
    'check' => function ($bind, $domain, $app) {
        return isset($bind[$domain]) && $bind[$domain] === $app;
    }
];bind
域名和应用的绑定关系
check
当前域名和应用是否一致的检测函数(可根据需要修改),返回false说明不一致,则页面显示404。
短url
配置好多域名后,有时候我们想简写url。例如 a.abc.com 与 admin应用绑定,原来 a.abc.com/admin/user/get 简写为 a.abc.com/user/get,这时候我们可以通过nginx rewrite功能来做到。例如 a.abc.com nginx配置如下
upstream webman {
  server 127.0.0.1:8787;
  keepalive 10240;
}
server {
    listen 80;
    server_name a.abc.com;
    access_log off;
    root /your/webman/public;
    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 ^/(.*)$ /admin/$1 break;
          proxy_pass http://webman;
       }
    }
}
 
       
       
      