不得不说这个很坑爹的是网上百度了半天都是插件啊或者是其他的这个似乎在Hostker上都不好用的样子……
换了N个关键词终于找到一个不过似乎不怎么现成还得自己学嘛=A=那就开始学了。
然后的然后我只是在讲背景故事你们不用在意QAQ只是想说两个.sky重复但如果没有重定向原来的网址就报废了而已。
俺の写法是:(brush不知道用什么好= =还是用最习惯的那个好了免得没刷子)
RedirectMatch 301 ^/(\\d+).sky$ /$1.air这就是把.sky的重定向到.air,如果你的格式和我一样就直接用上吧<(=→_→=)>
当然似乎还有各种各样奇形怪状适合各种需求的写法比如吧:
年月日修改成年:
RedirectMatch 301 ^/([0-9]+)/([0-9]+)/([0-9]+)/(.*)$ /$1/$4
改成年月:
RedirectMatch 301 ^/([0-9]+)/([0-9]+)/([0-9]+)/(.*)$ /$1/$2/$4
%post_id%或%postname%前添加%category%:
RedirectMatch 301 ^/(\d+)$ /(.+)/$1
RedirectMatch 301 ^/(\d+)$ /(.+)/$1.html
后者有.html 两者选一
/archives/%post_id%修改为/%category%/%post_id%或者/%category%/%postname%
RedirectMatch 301 ^/archives/(\d+)$ /(.+)/$1
或者
RedirectMatch 301 ^/archives/(\d+)$ /(.+)/(.+)
/archives/%postname%修改为/%category%/%post_id%或者/%category%/%postname%
RedirectMatch 301 ^/archives/(.+)$ /(.+)/(\d+)
或者
RedirectMatch 301 ^/archives/(.+)$ /(.+)/$1
另 简单的正则表达式:
(.+) 对应的是任意字符(包括汉字、英文字母等)
(\d+)对应的是任意数字(仅仅是阿拉伯数字)
$1 $2 $3 是前面出现过的变量的再次引用。
全一点的:
^ –> 匹配字符串的开始
$ –> 匹配字符串的结束
\s –> 匹配任意的空白符
\w –> 匹配字母或数字或下划线或汉字
\b –> 是正则表达式规定的一个特殊代码代表着单词的开头或结尾,也就是单词的分界处。
\d –> 匹配一位数字
\W(大写) –> 匹配任意不是字母,数字,下划线,汉字的字符
\S (大写) –> 匹配任意不是空白符的字符
\D (大写) –> 匹配任意非数字的字符
\B(大写) –> 匹配不是单词开头或结束的位置
” . “ –> 匹配除了换行符以外的任意字符
” * “ –> 它代表的不是字符,也不是位置,而是数量——它指定 * 前边的内容可以连续重复使用任意次以使整个表达式得到匹配。” .* “连在一起就意味着任意数量的不包含换行的字符
” + “ –> 是和 ” * ” 类似的元字符,不同的是 * 匹配重复任意次(可能是0次),而 + 则匹配重复1次或更多次。
” ? “ –> 重复零次或一次
” – “ –> 不是元字符,只匹配它本身 连字符(减号)
PS:(.+)表示重复1次或者多次任意字符,()表示一个变量已定义完毕。“-”这是你自定义固定链接时添加的连接“%postname%”和“%post_id%”的常量,与html一样照写就可以了。(\d+)表示有一位甚至多位数。“\.”表示任意字符。
嘛当然教程的出处在:http://wentong.org/tech/241.html
找了好久才找到的QAQ