使用重写时,(。)$和。 $之间有什么区别,例如下面两行:
RewriteRule ^blog/blog(.*)$ http://example.com/blog$1 [L,R=301]
RewriteRule ^blog/blog.*$ http://example.com/blog$1 [L,R=301]
由于
答案 0 :(得分:3)
这两个正则表达式模式本身(。*)$和。* $意思相同:
。是指任何单个字符
*是量词,表示任何字符的出现次数为0或更多
$是字符串字符的结尾...
不同之处在于,第一个使用与parens的分组。它只是意味着匹配部分(。*)可以用于$#的反向引用。因此,对于您给出的示例:
这是有道理的,因为替换中的$ 1有一个分组来拉取:
RewriteRule ^blog/blog(.*)$ http://example.com/blog$1 [L,R=301]
这是没有意义的,因为1美元没有什么可以拉的:
RewriteRule ^blog/blog.*$ http://example.com/blog$1 [L,R=301]