网站转移至百度云虚拟主机 BCH 心得手记

2018年2月2日09:26:51 评论 794
摘要

近日,本人将手上的一个网站转移到了百度云的国内虚拟主机上。本来是看着年费299元低价相比于VPS能省下不少钱,但是事实上却是带来了不少麻烦。不仅百度云前后总计两个月磨磨蹭蹭的备案进度浪费了大量时间,而且在转移过程中重新配置也费了不少功夫。今天整理了一个笔记,以便之后做参考,也希望看到这篇文章的读者能少走些弯路。

网站转移至百度云虚拟主机 BCH 心得手记

转移至BCH大致遇到了以下四个问题:

1. Wordpress https开启问题

使用更安全的https做网站向来是笔者的习惯,通常来说使用VPS运行的wordpress开启SSL,只要在后台面板里将WordPress地址(URL)站点地址(URL)里的http修改成https,wordpress即会自动将网站所有的图片、js及css自动替换成https,非常简单。

然而当我将原本已开启https的网站迁移到虚拟主机后发现,所有的js和css都是http链接的,无法被浏览器默认加载。而且后台也无法访问,显示重定向次数过多无法被加载。

网上几经搜寻,终于找到以下解决方案。

找到Wordpress网站根目录的配置文件wp-config.php,在里面找下面这段代码:

[php]
/* 好了!请不要再继续编辑。请保存本文件。使用愉快! */
/** WordPress目录的绝对路径。 */
if ( !defined('ABSPATH') )
define('ABSPATH', dirname(__FILE__) . '/');
[/php]

然后在上面这段代码的前一行,加入下面这段代码:

[php]
$_SERVER['HTTPS'] = 'ON'; //设置Wordpress全站开启HTTPS。
[/php]

注意:前面的代码我特意用红色字体说明了代码必须要加在特定的位置,这个位置很关键,加错了位置(尤其是加在了后面的),绝对会出现全站无法通过HTTPS访问的后果。

加完代码后如下图所示:

网站转移至百度云虚拟主机 BCH 心得手记

保存wp-config.php文件,并用FTP上传覆盖。

再重新用HTTPS访问网站试试,如果没有其他问题的话,应该就完全正常了,包括前台网站内容页面和后台登陆及各种功能。

2. 伪静态开启问题

百度云主机配置伪静态有两种,主要取决于使用的web环境,目前支持的有Lighttpd和nginx,前者是在app.conf文件中配置的,后者是在bcloud_nginx_user.conf文件中配置。我所使用的BCH为后者,下面是nginx环境中wordpress伪静态的配置。

步骤如下:

1、可以自行创建配置文件,并保存为“bcloud_nginx_user.conf”,文件内容如下:

 


if (-f $request_filename/index.html){
rewrite (.*) $1/index.html break;
}
if (-f $request_filename/index.php){
rewrite (.*) $1/index.php;
}
if (!-f $request_filename){
rewrite (.*) /index.php;
}

 

2、将配置文件上传到主机中

先将bcloud_nginx_user.conf上传至网站根目录下(即webroot目录)

上传完成后需要在BCH控制面板中重载一下站点,即可生效。

3. SMTP邮箱问题

BCH默认是屏蔽mail函数的,因此需要额外使用STMP来发邮件。

这里我所使用的是WPJAM插件,内附了STMP设置工具,修改起来还是很方便的。

4. 站点地图问题

原先的网站使用的是WordPress免插件生成完整站点地图(sitemap.xml)的php代码文中所提到的php站点地图+任务计划每天生成静态xml文件。但是因为迁到了虚拟主机,无法再使用任务计划,因此我改为使用插件来生成站点地图。这里我使用的是XML 站点地图 & 谷歌新闻订阅源这个插件。

本文参考以下网站:

四座博客:https://www.sizuo.org/wordpress-https.html

百度云文档:https://cloud.baidu.com/forum/topic/show?topicId=241555

avatar

发表评论

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen: