当服务器迁移,需要更换WordPress地址路径时,或是导入了新数据时,会遇到固定链接 改变,文章ID也不正确的情况。
我们需要修正这个问题,以我一些经验为例:
例如,我在迁移服务器后,且又多次导入了几个时期分别备份的数据后:
(原URL):http://bohu.net/wp/
原文件夹是 wp 新文件夹为 blog
设置转发(Redirect)
301 – Permanent(永久)
302 – Temporary(临时)303 – Replaced (替换)详细参数说明,查看 维基百科 HTTP状态码 :3xx重定向
Local URL Path | Type | Redirect URL | |
/wp | 303 | http://bohu.net/blog |
303 – Replaced 顾名思义,就是可以替换URL中的地址,而且正确的响应所传递的参数。? 号之后的参数不会丢失。
如: http://bohu.net/blog/post.php?post=1234&action=edit 303 替换为 http://bohu.net/wp/post.php?post=1234&action=edit
这样设置之后 访问 bohu.net/wp 就可以 转到 bohu.net/blog 了。
手动修复ID
但是元文章ID是197, 现在变为了2553,你如果用插件修复固定连接的话那么,可以忽略这一部分。
我尝试手动修复了ID。先下载插件 ”ShowID“
下载插件:ShowID for Post/Page/Category/Tag/Comment – http://ounziw.com/2010/02/05/showid/
启用之后就可以在文章列表看到每篇文章的 ID 了。我没找到自动更改ID的插件,进数据库自己修改的。
这样 http://bohu.net/blog/197 就可以恢复访问到了。
修复固定链接改变/迁移
但是之前的固定连接 ”197,orz-and-wtf“ 为两个参数组合的,所以原URL还不能直接访问。
需要使用插件转发到新固定连接,我最先用的是 ”Advanced Permalinks“
下载插件:Advanced Permalinks – http://urbangiraffe.com/plugins/advanced-permalinks/
可以完成转发效果,不过发现设置有点不太简单化,而且我的翻页有问题。
下面是附带解决固定连接修改后翻页的问题。
翻页有问题 有时候翻到第二页或其他页不能正常工作,地址如下:
http://www.example.com/page/2/ http://www.example.name/category/categoryname/page/2/ http://www.example/year/month/day/page/2/ http://www.example/year/month/page/2/
访问上面的任何一个链接,出现提示说: “Sorry, no posts match that criteria.”
这是.htaccess造成的,删掉,重新生成就好了。
看到”Advanced Permalinks“已经是2年未更新了,最后还是更换了插件为 ”Permalink Finder“。
下载插件:Permalink Finder – http://www.blogseye.com/
启用”Permalink Finder“Permalink-Finder Options”菜单,我按照默认设置。
这样就自动化完成修复固定链接的改变/迁移了。设置基本上不需要多少的改变。