博客 » 闲话-技术 » 更换WordPress永久链接

更换WordPress永久链接

前两天翻阅一些介绍WordPress的博客文章时,又想了想永久链接的形式,一时兴起,给枫叶去了一封帮忙修改.htaccess的邮件:
如何301重定向我以前的链接,我以前是使用这种结构:/%category%/%postname%.html,需要改成这种结构:/%category%/%postname%/。
枫叶回信告诉我说这样改:

RewriteCond %{REQUEST_URI} .*\.html$
RewriteRule ^(.*)\.html$ $1/ [R=301,L]

于是今天晚上就把永久链接的形式修改了,改成这样最大的一点原因是:
使用老的结构形式时,页面、分类、存档等链接都是以(www.xxx.com/xxx/xx)存在的,我觉得正确的应该是:(www.xxx.com/xxx/xx/)就是末尾一个斜杠的区别,具体原因大家可以看看Permalink Redirect插件作者在页面中所写的,大概意思就是不带斜杠的请求的是一个文件,而带斜杠的才是请求该目录下的index文件。

估计修不修改对搜索都差不多,只是喜欢瞎折腾,大家没事还是不要修改永久链接为好,实在要修改,也要做好301重定向。

修改当中上网搜索学习了一点正则表达式的基础知识,利用UltraEdit搜索了数据库中的内部链接并录制宏进行了替换,一共623处,幸好是学了点正则,不然岂不是累死。

末尾再次感谢枫叶的帮助,上次从bo-blog转到WordPress也是他给我做的重定向。

相关文章:

RSS 2.0 | leave a response | trackback

26 条评论

  1. 2008-04-10 / 22:40 bssn 说:

    baidu对于301一直都不感冒,改的话谨慎再谨慎了。

    回复

  2. 2008-04-10 / 22:49 lxltop 说:

    @bssn 都已经改了,它好像是不感冒哦,不管它了,反正我做了301更重要是不丢失以前的链接,等它慢慢恢复吧

    回复

  3. 2008-04-11 / 17:52 偶爱偶家 说:

    恭喜成功, 我现在想转到/year/month/的那种格式, 不知道可不可以弄到不丢失

    回复

  4. 2008-04-11 / 19:14 lxltop 说:

    @偶爱偶家
    为什么要那样转哦,那样转我觉得也不怎么好看呢,我建议你转成/postname/这种算了。
    不过你说的那样转我邮件里面说那个插件是可以重定向的,不含分类都可以。

    回复

  5. 2008-04-11 / 19:37 坏链检查工具Xenu | 琐记于忆 说:

    [...] 坏链检查工具Xenu 2008年04月11日 工具-软件 昨天将博客的永久链接更改了,因为以前链接形式有不少内部引用,自己用临时学的几个正则表达式进行了替换,为了避免出现差错,顺便也检查了一下博客有没有坏链接,利用的工具是Xenu’s Link Sleuth,本来也有在线服务Dead-Links这种可以用来检查的,但是本地工具速度更快,报告更详细和易读。 [...]

  6. 2008-04-13 / 10:27 嘟嘟鱼 说:

    我的丢失了一半,还好,呵呵

    回复

  7. 2008-04-13 / 13:18 lxltop 说:

    @嘟嘟鱼 等一段时间就好了,3个月之后你网站的404抓取错误基本上都会消失的。

    回复

  8. 2008-04-16 / 21:10 WordPress 2.5重定向大bug? | 琐记于忆 说:

    [...] WordPress 2.5重定向大bug? 2008年04月15日 闲话-技术 1、换上WordPress2.5版本也有半个月的时间了,中途又改变过一次永久链接形式,当时就发现了当使用分类作为链接形式时,分类你可以随便输入也能够正常访问,比如: http://www.xxx.com/category/post的页面链接,你以该类错误网址也能正常访问: http://www.xxx.com/任意字符/post [...]

  9. 2008-04-20 / 21:35 想酷就要勤 说:

    奇怪了,wp会自动生成.htaccess代码的 如果权限可写的话 .htaccess会自动生成,否则就把生成的代码自己复制过去就行了

    回复

    lxltop 回复于2008-04-21 00:14:

    它生成的代码只能有限的进行改写,比如像我那样修改了固定链接后,就必须自己另外加重写规则的。

    回复

  10. 2008-07-04 / 13:13 CmYkRgB123 说:

    为什么一旦我设置非?p=XXX 这样的永久链接,就会出现 CGI ERROR

    回复

    lxltop 回复于2008-07-04 16:28:

    你的服务器主机是什么环境呢?支持重写吗?

    回复

    CmYkRgB123 回复于2008-07-04 19:53:

    服务器是 Windows Server 2003 IIS 6.0 + PHP ( CGI模式 ) + ASP.net

    “重写”是什么,不好意思,我不知道。

    回复

    lxltop 回复于2008-07-04 21:54:

    IIS需要单独使用重写模块,它的规则我也不清楚,但可以肯定你的博客出错是服务器不支持重写,你可能需要再搜索看看。一般wordpress在Apache这些下工作最好,如果方便,以后换linux的虚拟主机吧。

    回复

    CmYkRgB123 回复于2008-07-05 14:13:

    我也想这样,但是我的网站上还有一部分APS.net,linux貌似不行。

    单独使用重写模块,是什么意思

    回复

  11. 2008-08-23 / 03:05 riant 说:

    诶,我现在是苦恼于后面有斜杠,后来发现当在地址栏漏输最后的 / 的话,就是找不到该页了。

    后来我在永久链接里把最后的斜杠删除,就是弄成了 /blog/%postname% ,发现所有的文章链接是都没有最后的斜杠,但是都不能访问了。不得不改了回来。
    当我改为/blog/%postname%.php时,发现页面链接又访问不了了,能告诉我可能是什么原因吗?怎么解决。谢谢。

    回复

    lxltop 回复于2008-08-23 11:32:

    是不是你安装了什么插件?正常情况下就算你改了永久链接形式,也可以自动重定向过去的,漏输了也该能访问的,只是有一次重定向,你检查看看插件这些。

    回复

  12. 2008-08-25 / 03:12 riant 说:

    不是插件的问题,我的插件都是我认识的,以前也是这些插件,后来我主机的朋友换了下IP就出现这问题了,诶,他也是很奇怪不知道什么原因。

    回复

  13. 2008-10-19 / 22:47 花恋碟 说:

    看了感觉不错。给你顶一个.
    别忘了也来我的博客溜达下哦
    继续溜达一下你的博客

    回复

  14. 2008-11-04 / 19:42 Robin 说:

    学习一下,
    正要用永久连接。

    回复

  15. 2008-11-08 / 00:45 菜菜熊 说:

    生是做网站的人。死是做网站的鬼。我的网站什么时候才有你网站的那么成功啊。羡慕中~~~不嫌弃的来个友情链接如何啊

    回复

  16. 2009-01-04 / 21:26 微笑の迪妮莎 说:

    POSTNAME是中文的怎么办呢……现在我还只有用POSTID呢

    回复

  17. 2009-12-10 / 20:41 阿超 说:

    http://javadou.com/struts-hibernate-spring-interview-462/
    这样的格式 看着舒服一点 但是我想弄成html格式的那种 想弄静态缓存
    不知道在win主机下如何弄啊

    回复

  18. 2010-06-19 / 07:16 雪风的博客 说:

    仔细研究下 还是有点晕

    回复

  19. 2010-06-28 / 20:34 去黑头最好的产品 说:

    我用的是默认的没怎么改

    回复

看完了来点评论?