Nginx 配置官网和 Yii2 高级模板后台应用使用同用一个域名 [ 2.0 版本 ]
修改 Nginx 配置
server
{
    listen 80;
    #listen [::]:80;
    server_name local.yii2.com ;
    #error_page   404   /404.html;
    location / {
        root /home/wwwroot/yii2/html;
        try_files $uri $uri/ =404;
        index index.html;
    }
    location /admin/ {
        alias /home/wwwroot/yii2/backend/web/;
        index index.php;
        try_files $uri /index.php/admin$is_args$args;
    }
    location ~ [^/]\.php/admin(/|$) {
            alias /home/wwwroot/adnonstop-21camera/backend/web;
            fastcgi_pass unix:/tmp/php-cgi.sock;
            fastcgi_index index.php;
            include fastcgi.conf;
            include pathinfo.conf;
            fastcgi_param SCRIPT_NAME /admin$fastcgi_script_name;
    }
    access_log  /home/wwwlogs/local.yii2.com.access_log;
    error_log /home/wwwlogs/local.yii2.com.error_log;
}
http://local.yii2.com/ 访问官网
http://local.yii2.com/admin 访问后台
核心配置是:fastcgi_param SCRIPT_NAME /admin$fastcgi_script_name; Yii2 的框架会以 /admin 作为脚本运行的目录,可参考 yii\web\Request::getScriptUrl 方法。
芦苇vip
            注册时间:2016-11-04
最后登录:2023-04-16
在线时长:15小时6分
    最后登录:2023-04-16
在线时长:15小时6分
- 粉丝1
 - 金钱60
 - 威望10
 - 积分310
 
共 5 条评论
牛皮 原来是这样
不错,受教了
不敢当,分享经验所得
我每次都会把不同项目的入口位置改下,集中到一个目录下,一个应用有一个入口,改下入口文件的加载配置

这样https://www.yiichina.com/可以访问前台,https://www.yiichina.com/admin.php可以访问后台
也可以https://admin.yiichina.com在nginx配置admin.php为入口文件,直接访问后台
是的,我之前看到另外一个开源的商城系统也是这么做的, https://www.yiichina.com/code/2048。
不过我这个比较特殊点,公司官网是一个纯html 的项目,是做后台之前就有的,假设部署在服务器 /home/wwwroot/html 目录下。 而后台是新增并且是使用 yii2 的高级模板,假设放在 /home/wwwroot/yii2 目录下。 而域名只有一个(其实是懒得去申请,哈哈~),所以就有了上面的配置了。如果你有更好的方案,可以交流下。
@芦苇vip 以前我们公司开发游戏平台,用的高级模板,又是配置资源域名又是前台后台域名,麻烦的很,换了个公司顺便做个企业站,老板觉得小项目搞这个复杂浪费时间,然后我想了下就改成这样了
66666
好方法,学习学习