PJblog转WordPress文章地址重定向
动态pjblog的文章是以/article.asp?id=num结尾的,转成Wordpress之后怎么样让这个地址跳转到新的可以访问到的页面呢?如/archives/num.html
因为我这个主机是apache服务器拥有mod_rewrite组件支持,所以我们可以使用mod_rewrite进行重定向。
方法:在Wordpress根目录的.htaccess文件中加入下面语句
RewriteCond %{QUERY_STRING} ^id=([0-9]+)$
RewriteRule ^(.*)$ archives/%1.html? [R=301,L]
这样就可以实现重定向了。测试之后发觉,如果在wp后台改过固定链接之后.htaccess将会被重写,这样你就需要重新修改。
下面测试一下访问这个页面的效果http://www.baizoo.cn/article.asp?id=18
mod_rewrite内容相当丰富,这么几句话就花了我很长时间去参透,其中不仅涉及Rewrite指令,还涉及正则表达式的知识。
下面有几条常见正则表达式的格式,转来参考。
文本
. 任意一个单字符
[chars] 字符类: “chars”中的任意一个字符
[^chars] 字符类: 不在”chars”中的字符
text1|text2 选择: text1 或 text2量词
? 前面的字符出现 0 或 1 次
* 前面的字符出现 0 或 N 次(N > 0)
+ 前面的字符出现 1 或 N 次(N > 1)分组
(text) text 组
(常用于设置一个选择的边界,或用于生成后引用:
在RewriteRule中可以用 $N 引用第N个分组)锚
^ 锚定到行首
$ 锚定到行尾转义
\c 对给定的字符c进行转义
(比如对”.[]()”进行转义,等等)
没有用的,转过来以后文章序列号都变了。我以前就是这样。不过庆幸的是转过来以后百度很快便收录。。。