最近百度云虚拟主机BCH服务器降价促销,一年只需要99元,所以买了一个,把本站迁移过来提高一下大陆地区的访问速度,但是遇到了一个特别蛋疼的问题,BCH主机web内核采用Nginx,PHP版本5.4、5.5、5.6、7.0版本服务器的配置文件是封装好的,不允许用户自行修改,所以只能通过bcloud_nginx_user.conf文件自行调整。
那么不废话了,开始吧!
WordPress程序用户:
第一步:把【设置】->【固定连接】->【常用设置】下选择【自定义结构】,然后 配置成自定义链接(如下图),重写模式;
第二步:新建一个bcloud_nginx_user.conf文件(bch是不允许修改基础配置文件的,所以只能通过加载用户自定义配置文件)上传到网站的根目录里面(webroot目录),写入如下代码:
location / {
if (!-e $request_filename) {
rewrite ^/(.*)$ /index.php/$1 last;
}
}
第三步:在主机控制面板中找到站点启停,点击重载站点服务(如下图)。(切记修改完规则之后一定要重新加载否则不能生效)
到此,重新刷新页面,就能正常访问了。
Thinkcmf 程序用户:
第一步:把URL_MODEL 配置成自定义链接,重写模式;
第二部:新建一个bcloud_nginx_user.conf文件(bch是不允许修改基础配置文件的,所以只能通过加载用户自定义配置文件)上传到网站的根目录里面(webroot目录),写入如下代码(注:和WP的代码有区别):
location / {
if (!-e $request_filename) {
rewrite ^(.*)$ /index.php?s=$1 last;
}
}
第三步:在主机控制面板中找到站点启停,点击重载站点服务(如下图)。(切记修改完规则之后一定要重新加载否则不能生效)
到此,重新刷新页面,就能正常访问了。
百度云拓展阅读
Nginx Rewrite示例
将www重定向到http://,没有3W的地址上,
if ($host ~* www.(.*)){
set $host_without_www $1;
rewrite ^(.*)$ http://$host_without_www$1 permanent;
}
用户访问URL:www.domAIn.com/page
实际访问URL:http://domain.com/page
Nginx配置文件加载流程
系统启动后将自动加载bcloud_nginx_gen.conf和bcloud_nginx_user.conf配置文件:
- bcloud_nginx_gen.conf文件是由app.conf文件转换的。
- bcloud_nginx_user.conf为用户自定义配置文件。用户可在程序根目录下,创建bcloud_nginx_user.conf文件,在文件里写入自定义配置。BCH支持server级别以下的自定义配置。
- 当出现重复配置时,bcloud_nginx_user.conf优先级高于bcloud_nginx_gen.conf。
【百度云虚拟主机BCH有关伪静态帮助文档参考】
1、云虚拟主机 BCH-操作指南-高级配置 https://cloud.baidu.com/doc/BCH/GettingStarted.html#.F9.D3.42.A3.80.4E.7C.67.34.28.B8.6F.A9.71.07.2A
2、云虚拟主机 BCH-操作指南-通过app.conf修改BCH环境配置 https://cloud.baidu.com/doc/BCH/GettingStarted/25.5C.E4.BC.AA.E9.9D.99.E6.80.81UrlRewrite.html
3、云虚拟主机 BCH-操作指南-Lighttpd环境切换到Nginx https://cloud.baidu.com/doc/BCH/GettingStarted.html#Lighttpd.E7.8E.AF.E5.A2.83.E5.88.87.E6.8D.A2.E5.88.B0Nginx