nginx配置thinkphp站点子目录部署和绑定到子域名

需求

在阿里云买了个虚拟主机,正常虚拟主机只能部署一个站点,所以需要一些技术手段实现多站点部署和绑定多域名。
查了网上一些相关资料,实现方式主要有两种:

  1. 当访问地址时,使用php(或其他语言)进行host判断
  2. 直接在nginx上进行判断,然后rewrite到指定文件

方式1实用性不强,最后使用的是在nginx上进行判断跳转。

项目环境

  • 部署环境:nginx
  • 后台语言:php
  • 应用框架:thinkphp5

实现

重定向调试比较麻烦,建议开启rewrite日志:修改日志级别 error_log D:/domain.com.error.log notice; 和 配置开启 rewrite_log on;

子域名访问

访问子域名为 a.domain.com,部署子目录为 a

location /a/public/ {
    if (!-e $request_filename){
        rewrite  ^/a/public/(.*)$  /a/public/index.php?s=$1 last;
    }
}
location / {
    if ($host = 'a.domain.com') {
        rewrite  ^(.*)$  /a/public/$1 last;
    }
}

子目录访问

访问路径为 domain.com/test,部署子目录为 b

location /test/ {
    rewrite  ^/test/(.*)$  /b/public/$1 last;
}
location /b/public/ {
    if (!-e $request_filename){
        rewrite  ^/b/public/(.*)$  /b/public/index.php?s=$1 last;
    }
}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值