两者有什么区别:
RewriteRule ^ http://example.com/page.html [R=301,L]
和
RewriteRule ^(.*)$ http://example.com/page.html [R=301,L]
最佳答案
这两条规则之间没有真正的区别,但为了简单起见,我更喜欢第一条规则。
由于您没有对匹配组中的 REQUEST_URI 执行任何操作,因此无需像在第二条规则中使用 ^(.*)$
区别在于正则表达式:
^ - means match line start (will always match)
^(.*)$ - means match whole URI with 0 or more characters and capture it in $1
关于regex - 正则表达式 (.htaccess) 中 ^(.*)$ 和 ^ 之间的区别,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19498566/