这次之所以换服务器,第一,博客之前用的公司的Chemicloud,准备独立做项目,所以要分开管理。第二,Bluehost活动力度太大了,CHOICE PLUS多站点并且带备份版本原价$18.99/月,活动竟然只要$5.45/月,不过只能买一年,超过一年就贵了。明年根据发展,再看要不要换回 Chemicloud。
首先,本次迁移由于只涉及到更改服务器,不改域名。因此操作起来比较简单。很久之前写过一篇修改主机和域名的博客,如果有需要可以参考:【wordpress】wordpress更换域名和服务器。
先把原服务器上的网站文件夹直接压缩打包下载,然后上传到新服务器上网站根目录下。由于根目录有另外一个域名绑定的网站文件。因此,要在此域名指向的目录做二级文件夹,我的博客原先也在二级目录,因此本次直接解压就可以了。
然后在原服务器导出对应的数据库文件,在新服务器新建一个对应的数据库,导入文件既可。导入后需要去修改网站文件目录下的wp-config.php配置的数据库名称和密码。如果与前一个数据库的配置相同,就不用修改(一般第三方的主机很难做到数据库名称相同)。
由于域名没有变,直接解析到新的服务器即可,这里注意一下,如果不是主域名Bluehost,需要设置新域名指向主域的子域,以及设置指向目录(前面已经把网站文件夹解压到主域根目录,指向网站文件夹即可)。
配置到这里其实已经差不多了,但是访问域名时出现403 Forbidden错误。错误提示如下:
Forbidden You don't have permission to access /recipefinder on this server. Server unable to read htaccess file, denying access to be safe
这是虚拟服务器托管新网站时的普遍问题。 网站的文件目录位于名为public_html的子目录中。服务器将此目录的权限默认为750,但是这些权限不足以允许Apache读取网站的文件。 您需要将此目录的权限更改为755。 然后,确保public_html下的所有文件都是可读的。
如果您还有其他子目录(例如CSS,JS和IMG),请确保它们可以通过启用和执行访问。
最后,您需要在public_html文件中拥有一个.htaccess文件。确保文件的权限为644。
处理完403问题后,又出现了404错误。检查了一下,应该是.htaccess文件配置的问题。由于是从Chemicloud服务器直接打包文件上传到新的Bluehost服务器,两个服务器对Apache的配置有所区别。错误提示如下:
Not Found The requested URL was not found on this server. Additionally, a 404 Not Found error was encountered while trying to use an ErrorDocument to handle the request.
解决办法:在.htaccess文件最前面增加强制重定向。
# BEGIN HTTPS Forced Redirect # The directives (lines) between "BEGIN HTTPS Forced Redirect" and # "END HTTPS Forced Redirect" are dynamically generated, and should # only be modified via the filters. Any changes to the directives between # these markers will be overwritten.RewriteEngine On RewriteCond %{HTTPS} off RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301] # END HTTPS Forced Redirect
基本上加上这段就可以解决访问问题。
下面这一段一般是系统自动生成的,如果没有也需要加上。
# php -- BEGIN cPanel-generated handler, do not edit # Set the “ea-php74” package as the default “PHP” programming language.AddHandler application/x-httpd-ea-php74___lsphp .php .php7 .phtml # php -- END cPanel-generated handler, do not edit



