301重定向正则表达式实例应用

修改.htaccess文件达到301重定向的目的,其中如果想将domain.com域名下的所有url转到www.domain.com下,规则如下:

Options +FollowSymLinks

RewriteEngine on

RewriteCond %{HTTP_HOST} ^domain.com [NC]

RewriteRule ^(.*)$ http://www.domain.com/$1 [L,R=301]

但实际用到的301转向并不是如此简单的应用,诸如程序调整目录,文件命名规则的改变,就需要用到正则表达式来设置相关的301重定向了,几个简单的301重定向正则表达式的例子如下:

RewriteRule ^(.*?)(\/\d.*)$ $1_bing$2  [R,L]

RedirectMatch ^/archiver/(.*)$ /bbs/archiver/$1 [L]

RedirectMatch ^/chrome/([a-zA-Z]+)/(.*).html$ /chrome/$1-$2.html [L]

RedirectMatch ^/msn/([a-z]+)/(\d{4})([0-9]+).html$ /live/$1/2009$3.html [L]

([a-z]+)表示多位的小写英文字母。

([a-zA-Z]+)表示多位的大小写英文字母。

([0-9])表示单个的阿拉伯数字;

([0-9]{1,2})表示两位的阿拉伯数字;

([0-9]+)表示多位的阿拉伯数字;

(\d)同上一个。

(\d{4})表示多位的阿拉伯数字的前四位数字。

(\b)表示单词的开始或结束; (\w)表示任意的字母或数字或下划线或汉字;

(\s)表示任意的空白符;

(.*)表示任意字符。

redirect 301 /go/search.htm /data/google.html

redirect permanent /go/search.htm /data/google.html

其中redirect permanent和redirect 301应用效果相同。

更多正则表达式的内容看这里吧http://zh.wikipedia.org/wiki/正则表达式

月光博客自己总结的常用正则表达式http://www.williamlong.info/archives/433.html

评论 (0)

暂无评论,快来抢沙发吧!

登录 后发表评论