首页 > 解决方案 > 不同文件类型的独立 Apache mod_substitute 规则?

问题描述

我需要为不同的文件类型设置单独的 mod_substitute 规则(Substitute 指令),但我没有任何成功。

我尝试了很多不同的配置,但这是我想要做的主要要点:

<VirtualHost *:80>
    DocumentRoot /path/to/htdocs
    ServerName websitedomain.com

    <Directory "/path/to/htdocs">
            AllowOverride All
    </Directory>

    ProxyRequests off
    ProxyPass /test/ http://test.websitedomain.com/
    ProxyPassReverse /test/ http://test.websitedomain.com/

    <Location /test/>
        ProxyPassReverse /

        AddOutputFilterByType INFLATE;SUBSTITUTE;DEFLATE text/html
        AddOutputFilterByType INFLATE;SUBSTITUTE;DEFLATE text/css
        Substitute "s|([\'\"\(])/|$1/test/|iq"
       
        AddOutputFilterByType INFLATE;SUBSTITUTE;DEFLATE text/javascript
        AddOutputFilterByType INFLATE;SUBSTITUTE;DEFLATE application/javascript
        AddOutputFilterByType INFLATE;SUBSTITUTE;DEFLATE application/x-javascript
        Substitute "s|([\'\"])/|$1/test/|iq"
    </Location>
</VirtualHost>

现有的规则并不完全是我所需要的,但它会为我提供一个起点,根据代理文件的文件类型进行必要的调整。

在这种情况下最终发生的是两个替代规则都适用于我指定的所有文件类型(html、css 和 javascript)。我已经搜索了很多,并且无法找到针对不同文件等的多个单独替换规则的示例。希望这里有人可以提供帮助!

标签: apachereverse-proxyvirtualhostmod-proxymod-filter

解决方案


推荐阅读