之间有什么区别吗?
RewriteRule ^([a-zA-Z0-9\/\-_]+)$ http://www.example.com/index.php?url=$1 [QSA,L]
和
RewriteRule ^([a-zA-Z0-9\/\-_]+)$ index.php?url=$1 [QSA,L]
在第一个基本网址是前缀,而在第二个基础网址是前缀,而不是。 如果有任何差异,那么它是什么?
答案 0 :(得分:1)
这取决于当前网站是否在www.example.com域上。
如果当前站点是www.example.com,那么您的第一条规则将由Apache转换为与第二条规则完全相同。
如果当前站点不是www.example.com,那么Apache不会进行静默重写,而是发出外部重定向(就像你在RewriteRule的末尾添加了R
标志一样)。
有关详细信息,请参阅Apache mod_rewrite online documentation for RewriteRule并查看有关规则替换部分的部分。