我已经在几个 .htaccess
示例中看到了这一点
RewriteBase /
它的功能似乎与 HTML 的
<base href="">
有点相似。我相信它可能会自动将其值添加到
RewriteRule
语句的开头(可能是没有前导斜杠的语句)?我无法让它正常工作。我认为它的使用对于站点可移植性非常有用,因为我经常有一个与生产服务器不同的开发服务器。我目前的方法让我删除了
RewriteRule
语句中的部分内容。谁能向我简要解释一下如何实现它?
谢谢
最佳答案
用我自己的话来说,在阅读文档并进行实验后:
您可以使用 RewriteBase
为您的重写提供基础。考虑这个
# invoke rewrite engine
RewriteEngine On
RewriteBase /~new/
# add trailing slash if missing
rewriteRule ^(([a-z0-9\-]+/)*[a-z0-9\-]+)$ $1/ [NC,R=301,L]
这是我用来确保 URL 具有尾部斜杠的真实规则。这将转换
http://www.example.com/~new/page
到
http://www.example.com/~new/page/
通过将
RewriteBase
放在那里,您可以使相对路径脱离 RewriteBase
参数。关于.htaccess - RewriteBase 如何在 .htaccess 中工作,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/704102/