阿帕奇标签为几个选项

阿帕奇标签为几个选项

我想Location在我的 Apache 配置中设置几个标签。例如:/image/file/audio并将其传递给localhost:port/path。现在我将其用于/image

 <Location /image>
        RewriteEngine  on
        Options +MultiViews +FollowSymLinks
        AllowOverride All
        ProxyPreserveHost On
        ProxyPass "http://localhost:PORT/image"
        ProxyPassReverse "http://localhost:PORT/image"
    </Location>

我是否必须为每个参数编写这段代码?或者有什么捷径吗?

谢谢!

答案1

<Location /image>
   RewriteEngine  on
   Options +MultiViews +FollowSymLinks
   AllowOverride All
   ProxyPreserveHost On
   ProxyPass "http://localhost:PORT/image"
   ProxyPassReverse "http://localhost:PORT/image"
</Location>

我是否必须为每个参数编写这段代码?

否。该RewriteEngine指令不会执行任何操作,当您不映射到本地文件系统上的资源时,该指令和OptionsAllowOverride指令都没有任何意义。这些选项受控制,需要由您使用该指令将请求转发到的“远程”网络服务器进行设置ProxyPass

由于这些指令毫无用处,因此您无需使用 Location 括号来设置它们,而可以使用内联ProxyPass无论如何都是推荐的语法。

这将语法简化为仅需几行:

ProxyPreserveHost On

ProxyPass "/image" "http://localhost:PORT/image"
ProxyPassReverse "/image" "http://localhost:PORT/image"

ProxyPass "/file" "http://localhost:PORT/file"
ProxyPassReverse "/file" "http://localhost:PORT/file"

Apache httpd 确实提供了Include指令来维护一个单一的配置片段,其中包含您想要在不同位置、VirtualHost、Location、Directory 块中逐字包含的设置,而无需一次又一次地复制相同的行。

相关内容