有没有区别
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]
在第一个中,base url 是前缀,而在第二个中,它不是。如果有任何区别,那是什么?
有没有区别
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]
在第一个中,base url 是前缀,而在第二个中,它不是。如果有任何区别,那是什么?
这取决于当前站点是否在域 www.example.com 上。
如果当前站点是 www.example.com,那么您的第一条规则将被 Apache 转换为与第二条规则完全相同。
如果当前站点不是 www.example.com,则 Apache 不会进行静默重写,而是发出外部重定向(就像您在R
RewriteRule 的末尾添加了一个标志一样)。
有关更多详细信息,请参阅RewriteRule 的 Apache mod_rewrite 在线文档,并查看有关规则的替换部分的部分。