ISAPI_Rewrite 2.9与3.0 对网站目录进行301重定向的正则表达式规则

来源:互联网 发布:xstream java 编辑:程序博客网 时间:2024/06/05 18:41

ISAPI_Rewrite 2.9 的正则表达式代码是

RewriteCond Host: (.*yongfa365.com)RewriteRule .*?/blog/*$ / [RP]RewriteRule .*?/blog/index/* / [RP]RewriteRule .*?/blog/category/index/([^/]+)/*$ /$1 [RP]RewriteRule .*?/blog/calendar/([^/]+)/*$ /$1 [RP]RewriteRule .*?/blog/board/* /board/ [RP]RewriteRule .*?/blog/index/(.*) /$1l [RP]RewriteRule .*?/blog/category/index/(.*) /$1l [RP]RewriteRule .*?/blog/calendar/(.*) /$1l [RP]RewriteRule .*?/blog/rss/(.*) /rss/$1 [RP]RewriteRule .*?/blog/item/(.*) /item/$1l [RP]RewriteRule .*?/blog/board/(.*) /board/$1l [RP]

ISAPI_Rewrite 3.0 的正则表达式代码是

RewriteCond Host: (.*yongfa365.com)RewriteRule .*?/blog/*$ / [NC,R=301]RewriteRule .*?/blog/index/* / [NC,R=301]RewriteRule .*?/blog/category/index/([^/]+)/*$ /$1 [NC,R=301]RewriteRule .*?/blog/calendar/([^/]+)/*$ /$1 [NC,R=301]RewriteRule .*?/blog/board/* /board/ [NC,R=301]RewriteRule .*?/blog/index/(.*) /$1l [NC,R=301]RewriteRule .*?/blog/category/index/(.*) /$1l [NC,R=301]RewriteRule .*?/blog/calendar/(.*) /$1l [NC,R=301]RewriteRule .*?/blog/rss/(.*) /rss/$1 [NC,R=301]RewriteRule .*?/blog/item/(.*) /item/$1l [NC,R=301]RewriteRule .*?/blog/board/(.*) /board/$1l [NC,R=301]

其实,这两个版本的差别不是很大,只是ISAPI_Rewrite 2.9 的是[RP] 而ISAPI_Rewrite 3.0 的是[NC,R=301],不过不知道这个的话,你肯定会很郁闷,我弄了一天才明天(可能昨天比较晕)

在使用定向的过程中遇到一些问题,总结如下:

  1. 有事没事别在服务器上直接操作,先在本地测试通过了再放到服务器上去,如果服务器上原来有多个站点,你就建多个测试。
  2. 最好是原文件与转向后的文件都存在,这样转向时可以直接看到URL会发生变化,以便观查,如果文件不存在的话很多次URL都是不会变的。比较郁闷。
  3. 因为是为了保证搜索引擎排名的,所以得用301转向,一般按我上面说的操作,把正则改一下就可以了,如果您还是想亲身体会一下,看看是不是做了301转向,最好的办法,也是我解决了我一大难题的方法是:看日志,看看你访问的页面后边是不是301,如果是302或404,403什么的肯定是没做正确。