我已经在几个 .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/

10-13 00:12