Archive

Posts Tagged ‘重定向’

.htaccess规则简单实例

June 1st, 2010
No comments 179 views

很久以前我研究过apache的rewrite规则(见:PJblog转Wordpress文章地址重定向),其实这方面的东西还有很多都没搞懂,今天想到又来学习一下,并写了个例子。

RewriteEngine on
RewriteRule test/([a-z0-9\-]+\.html)$ test/test\.php\?id=$1
#实现伪静态将/test/1.html 映射到/test/test.php?id=1

RewriteCond %{QUERY_STRING} ^id=([a-z0-9\-]+)$
RewriteRule ^(.*)$ /test/%1\.html? [R=301,L]
#将test/test.php?id=1 用301重定向到 /test/1.html

实现的效果:
访问/test/1.html时,web服务器会把实际请求转发给/test/test.php?id=1
当访问/test/test.php?id=1时,规则又把该地址用301重定向到/test/1.html

Read more…

技术爱好 , , ,

PJblog转WordPress文章地址重定向

February 21st, 2009
1 comment 562 views

动态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指令,还涉及正则表达式的知识。

下面有几条常见正则表达式的格式,转来参考。 Read more…

技术爱好 ,