WordPress网站定制开发专家
WordPress企业主题特惠

赞一个 0

在我们的一些WordPress企业建站的客户中,由于各种各样的原因,需要更换WordPress网站主机,绝大多数情况下,WordPress网站迁移都是非常方便的,备份相关的网站文件和数据库后,导入到新的网站主机就可以了。

但如果你使用了类似 WP Super Cache 这类缓存插件的话,由于这些插件会生成规则代码到网站的 .htaccess 文件中去(这个文件一般是在网站的根目录下),在这种情况下,当客户整体迁移网站时,就会把之前主机环境下生成的规则代码一并迁移到新的主机中去,由于规则代码中有相关的主机相对文件目录(不同主机的文件目录路径和名称都不尽相同),从而导致网站迁移后,新增的网站数据无法更新到网站中去。

遇到这种情况时,我们的解决办法,只能是修改网站根目录下的 .htaccess 文件了,具体方法如下:

1,首先,进入新网站主机的FTP,在网站根目录下找到  .htaccess 文件

你会发现里面包含了  WP Super Cache 这类缓存插件生成的缓存规则代码。代码大致如下:

# BEGIN WPSuperCache
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
#If you serve pages from behind a proxy you may want to change ‘RewriteCond %{HTTPS} on’ to something more sensible
AddDefaultCharset UTF-8
RewriteCond %{REQUEST_METHOD} !POST
RewriteCond %{QUERY_STRING} !.*=.*
RewriteCond %{HTTP:Cookie} !^.*(comment_author_|wordpress_logged_in|wp-postpass_).*$
RewriteCond %{HTTP:X-Wap-Profile} !^[a-z0-9\”]+ [NC]
RewriteCond %{HTTP:Profile} !^[a-z0-9\”]+ [NC]
RewriteCond %{HTTP_USER_AGENT} !^.*(2.0\

中间省略N行

RewriteCond %{HTTPS} !on
RewriteCond %{DOCUMENT_ROOT}/wp-content/cache/supercache/%{SERVER_NAME}/$1/index.html -f
RewriteRule ^(.*) “/wp-content/cache/supercache/%{SERVER_NAME}/$1/index.html” [L]
</IfModule>

# END WPSuperCache
# BEGIN WordPress
<IfModule mod_rewrite.c>
RewriteRule ^index\.php$ – [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
</IfModule>

# END WordPress

在这些代码中,删除 # BEGIN WPSuperCache  和 # END WPSuperCache 之间的内容即可,保留WordPress相关的Rewrite代码,需保留的代码如下:

# BEGIN WordPress
<IfModule mod_rewrite.c>
RewriteRule ^index\.php$ – [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
</IfModule>

# END WordPress

2. 进入网站后台的 【 设置 – WP Super Cache 】 中

处理完  .htaccess 文件后,进入网站后台 【 设置 – WP Super Cache 】 的缓存插件设置里,会出现警告提示错误,如下图:

20131111114247

 

此时,切换进入 WP Super Cache 设置的【高级 】项,到页面最下方,找到“更新 Mod_Rewrite 规则”按钮,把新的Mod_Rewrite 规则重新生成到网站的  .htaccess 文件就行了,如下图:
20131111114625

3. 问题解决

至此,由于缓存插件导致的迁移网站后,网站数据无法更新的问题就完全解决了,恢复到正常的WordPress网站状态了。

上一篇:

下一篇:

在线客服
在线客服关闭
WPYOU官方微信

扫码关注官方微信