小编典典

RewriteBase 如何在 .htaccess 中工作

all

我在几个.htaccess例子中看到了这一点

RewriteBase /

它在功能上似乎与<base href="">HTML 有点相似。

我相信它可能会自动将其值添加到RewriteRule语句的开头(可能是没有前导斜杠的语句)?

我无法让它正常工作。我认为它的使用对于站点可移植性非常有用,因为我经常有一个不同于生产服务器的开发服务器。我目前的方法让我从我的RewriteRule陈述中删除部分内容。

谁能简单地向我解释一下如何实现它?

谢谢


阅读 67

收藏
2022-05-27

共1个答案

小编典典

用我自己的话来说,在阅读了文档并进行了实验之后:

您可以使用为您的重写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参数。

2022-05-27