打包网站根目录所有数据
导出网站数据库的表,这里用了 phpmyadmin面板 ,如果没有可以安装一个操作比较简明
数据库导入到新的服务器下(这里可能会发生一些问题,就是因为数据库的名字不同导致导入失败,你在新的服务器创建的新数据库要和旧数据库名字一样,或者手动将导出的 SQL 文件的数据库名字改为和新创建的数据库一样下图为例)。
然后导入
然后到新的服务器将文件全部解压到网站目录下,然后配置 wp-config.php 文件的数据库信息改为新数据库的用户名和密码。
如果网站使用了自定义固定链接的方式,得给网站配置伪静态规则。有宝塔的话可以直接再网站设置
没宝塔可以通过创建
Apache规则:
首先要开启apache的url_rewrite模块(一般默认都是开启的),也就是在httpd.conf中去掉这句话的注释LoadModule rewrite_module modules/mod_rewrite.so,httpd.conf中找到AllowOverride,把AllowOverride None修改成AllowOverride all
网站根目录下要有 .htaccess
文件,然后将下面的代码复制进去。
<ifmodule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
</ifmodule>
WordPress在Apache环境下二级目录建站伪静态操作方式同上。
Nginx规则:
操作方法:以下代码加入到网站的配置文件 xxxx.conf 中的 server{} 中。
根目录下WordPress的伪静态规则:
location / {
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;
}
}
二级目录下WordPress的伪静态规则:
注意将以下代码中的“二级目录名”换成自己的真实二级目录名。
location /二级目录名/ {
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;
}
}
到这里网站搬迁就完成了。
如果你换了域名则需要到数据库替换掉旧的域名,使用以下代码
UPDATE wp_options SET option_value = replace(option_value, 'www.olddomain.com','www.newdomain.com');
UPDATE wp_posts SET post_content = replace(post_content, 'www.olddomain.com','www.newdomain.com');
UPDATE wp_comments SET comment_content = replace(comment_content, 'www.olddomain.com', 'www.newdomain.com');
UPDATE wp_comments SET comment_author_url = replace(comment_author_url, 'www.olddomain.com', 'www.newdomain.com');
如果之前没有用 https 这次要换则使用以下代码
UPDATE wp_options SET option_value = replace(option_value, 'http://www.olddomain.com','https://www.newdomain.com');
UPDATE wp_posts SET post_content = replace(post_content, 'http://www.olddomain.com','https://www.newdomain.com');
UPDATE wp_comments SET comment_content = replace(comment_content, 'http://www.olddomain.com', 'https://www.newdomain.com');
UPDATE wp_comments SET comment_author_url = replace(comment_author_url, 'http://www.olddomain.com', 'https://www.newdomain.com');