我什么时候应该在apache2.conf中使用RedirectBase?

时间:2016-08-06 15:13:42

标签: mod-rewrite apache2

阅读本页(https://httpd.apache.org/docs/current/en/mod/mod_rewrite.html)后,我对使用RedirectBase指令的情况感到困惑。

例如,对于这一点:

  

原始请求和替换位于DocumentRoot的下方(而不是通过其他方式,例如Alias可以访问)。

这是否意味着如果我的web服务器文件夹中有/ abc / def这样的文件夹,并且我在“Directory /abc/def”块中直接使用整个重写模块,我不需要使用RedirectBase指令?

此外,如果我尝试将除cons.html之外的所有网址重写到网页cons.html,请参阅以下代码块 <Directory /abc/def/> RedirectEngine on RedirectCond %{REQUEST_URI} !^cons.html$ RedirectRule (.*) conf.html </Directory /abc/def/> 我需要使用RedirectBase指令吗?

由于

1 个答案:

答案 0 :(得分:0)

手册很清楚。

在每个目录(htaccess)上下文中使用替换中的相对路径时,此指令是必需的,除非满足以下任一条件:

  • 原始请求和替换位于下面 DocumentRoot(而不是通过其他方式可以访问,例如Alias)。
  • 包含RewriteRule的目录的文件系统路径,
    后缀为相对替换也有效作为URL路径 服务器(这很少见)。
  • 在Apache HTTP Server 2.4.16及更高版本中,当通过Alias或mod_userdir映射请求时,可能会省略此伪指令。