Regex 正则表达式(.htaccess)中的^(.*)和^之间的差异
这两者之间的区别是什么:Regex 正则表达式(.htaccess)中的^(.*)和^之间的差异,regex,.htaccess,mod-rewrite,Regex,.htaccess,Mod Rewrite,这两者之间的区别是什么: RewriteRule ^ http://example.com/page.html [R=301,L] 及 这两条规则之间没有真正的区别,但为了简单起见,我更喜欢第一条规则 由于您没有对来自匹配组的请求URI执行任何操作,因此不需要像在第二条规则中使用^(.*)$ 不同之处在于正则表达式模式: ^ - means match line start (will always match) ^(.*)$ - means match whole URI wi
RewriteRule ^ http://example.com/page.html [R=301,L]
及
这两条规则之间没有真正的区别,但为了简单起见,我更喜欢第一条规则 由于您没有对来自匹配组的请求URI执行任何操作,因此不需要像在第二条规则中使用
^(.*)$
不同之处在于正则表达式模式:
^ - means match line start (will always match)
^(.*)$ - means match whole URI with 0 or more characters and capture it in $1
正如anubhava所指出的-在您的上下文中没有区别,而且
^
应该匹配得更快,因为它不必解析到行的末尾$
,并且不必在$1
变量中存储任何内容。通常正则表达式具有捕获块的唯一原因(…)
是指是否将在替换中使用该匹配项。例如,在每个URL前面加上/foo
,你可以从RewriteRule^(.*)$/foo/$1[R,L]
+1开始,在进入mod_rewrite
池之前,每个人都应该先学习regex
的基础课程:)@RaviThapliyal:真的吗
^ - means match line start (will always match)
^(.*)$ - means match whole URI with 0 or more characters and capture it in $1