php正则 301,301重定向中.htaccess中常用的正则表达式说明

.htaccess中常用的正则表达式

正则表达式就是用于描述这些规则的工具。换句话说,正则表达式就是记录文本规则的代码。

很可能你使用过Windows/Dos下用于文件查找的通配符(wildcard),也就是*和?。如果你想查找某个目录下的所有的Word文档的话,你会搜索*.doc。在这里,*会被解释成任意的字符串。和通配符类似,正则表达式也是用来进行文本匹配的工具,只不过比起通配符,它能更精确地描述你的需求。

^ –> 匹配字符串的开始

$ –> 匹配字符串的结束

^$可以用于确定字符串,即可以用于确定起点或终点。例如:^$ —— 空字符串

\s –> 匹配任意的空白符

\w –> 匹配字母或数字或下划线或汉字

\b –> 是正则表达式规定的一个特殊代码代表着单词的开头或结尾,也就是单词的分界处。

\d –> 匹配一位数字

\W(大写) –> 匹配任意不是字母,数字,下划线,汉字的字符

\S (大写) –> 匹配任意不是空白符的字符

\D (大写) –> 匹配任意非数字的字符

\B(大写) –> 匹配不是单词开头或结束的位置

” . “ –> 匹配除了换行符以外的任意字符

” * “ –> 它代表的不是字符,也不是位置,而是数量——它指定 * 前边的内容可以连续重复使用任意次以使整个表达式得到匹配。” .* “连在一起就意味着任意数量的不包含换行的字符

” + “ –> 是和 ” * ” 类似的元字符,不同的是 * 匹配重复任意次(可能是0次),而 + 则匹配重复1次或更多次。

” ? “ –> 重复零次或一次

” – “ –> 不是元字符,只匹配它本身 连字符(减号)

举例

如果你的链接是:/%postname%-%post_id%.html,现在重定向为:/archives/%post_id%/,那么.htaccess 301重定向固定链接代码应该这么写:

RedirectMatch 301 ^/(.+)-(\d+)\.html$ /archives/$2

备注:(.+)表示重复1次或者多次任意字符,()表示一个变量已定义完毕。“-”这是你自定义固定链接时添加的连接“%postname%”和 “%post_id%”的常量,与html一样照写就可以了。(\d+)表示有一位甚至多位数。“\.”表示任意字符。其他的,看正则表达式的一些解释应该就明白了。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值