BCH绑定域名到子目录实现多站
本文介绍百度云主机BCH多域名分别绑定不同子目录实现一机部署多站的nginx
配置文件写法之一。
BCH上原有一个example.com
绑定在webroot根目录,最近想增加一个newdomain.com
,与原来的网站分别放入两个子目录中。阿里云主机可以通过修改Apache
的.htaccess
文件中的rewrite规则实现,想必BCH也能通过修改nginx
配置文件实现,于是一番学习nginx
配置文件的语法规则。
反复修改webroot目录下的bcloud_nginx_user.conf
,怎么都无法实现想要的效果,百思不得其解。怀疑是不是BCH限制了一机多站,于是发工单询问百度技术支持,确认没有做特别限制后,继续探索。根据HTTP响应情况和log文件记录情况逐步调试,最终成功写出了完整的配置文件,实现了预期效果。下面将配置文件内容分享给大家参考。
首先匹配绑定的两个域名example.com
和newdomain.com
,设置子站标识。同时在webroot目录中创建两个子目录example
和newdomain
分别放置两个网站的文件。
将最常用的首页path=/
匹配出来,设置文档根目录为上一步创建的子目录。如果子目录中存在index.html
则重定向到子目录,中止匹配;如果子目录中存在index.php
则重定向到index.php
,继续匹配。
处理静态文件,全部重定向进入子目录,中止匹配。
处理php脚本文件,把官方文档中关于server级配置中对php文件的处理,直接复制过来进行修改覆盖。增加第2~5行,设置新的文档根目录为子目录,如果脚本不存在,重定向到首页,重新匹配本规则;如果脚本存在,则转交给fastcgi
处理。
匹配path
为二级或多级目录的情形,寻找目录中的index.html
和index.php
,如果找不到也重定向到首页。注意这里不能使用index
指令(第3行)设置默认首页文件,会产生循环重定向问题。
将上述代码块组合到一起,就是完整的bcloud_nginx_user.conf
文件,放入webroot根目录,重载站点即可。注意要清空控制面板中的默认首页配置,也就是bcloud_nginx_gen.conf
中不能有重复的location
匹配,不然会产生冲突。
文章深入浅出,既有深度思考,又不乏广度覆盖,令人叹为观止。
字里行间饱含人文关怀,温暖而有力。
对生命本质的追问充满哲学思辨。
社会责任感贯穿全文,彰显学者担当。
?励志类评语?
建议提出分阶段实施路径,增强可行性。
?诗歌散文评语?
文化差异分析可再深化以避免误读。
这是一篇佳作,无论是从内容、语言还是结构上,都堪称完美。
独特的构思和新颖的观点,让这篇文章在众多作品中脱颖而出。