使用 .htaccess 对 apache 进行 301 重定向

前几天，对blog的一番网址抒发胸臆，结果造成google大面积404，更重要的是，我自己的书签挂了好几个。不爽。所以修改.htaccess文件，利用apache服务器的特性进行重定向。

限制:apache服务器。

当前环境: Apache/2.2.15

目标:

将文章更新，即将所有形如”http://argcv.com/ archives/1234″的修改为”http://argcv.com/ articles/1234.c“

将tag,category更新，即

将所有形如”http://argcv.com/ archives/tag/xxx”的修改为”http://argcv.com/ articles/tag/xxx”

将所有形如”http://argcv.com/ archives/category/xxx”的修改为”http://argcv.com/ articles/tag/xxx”

做法很简单,

编辑根目录下的 .htaccess 文件，添加如下内容

# Redirect Start

RewriteEngine On
RewriteRule ^archives/(\d*)$ /articles/$1.c [R=301,L]
RewriteRule ^archives/(.*)$ /articles/$1 [R=301,L]

# Redirect End

其中,

“^” 表示匹配开头

“.*” 匹配任意长度的任意字符

“\d*” 匹配任意长度的数字

“$1” 为前面获取的第 N 个变脸, 提取方法为 () 中的内容

PS:

本来这东西是追加在.htaccess文件末尾的,可是居然没反应!怒而放到文件首部,结果就过了。应该是其他的一些内容横插一杠子了吧。

Referenecs:

一个很好用的 htaccess 测试工具: http://htaccess.madewithlove.be

htaccess 301 redirect with regular expressions http://superuser.com/questions/155139/htaccess-301-redirect-with-regular-expressions