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
好方法,学习学习