2

我对动态内容替换有疑问。Apache-Substitude 不会替换由 LocationMatch 或请求变量(如 %{REQUEST_URI})匹配的变量。

我的计划是代理一个页面并替换 base-href-content。
href="/" -> href="/proxy/https/my-app.de/"

典型的请求如下所示: https://my-proxy.localhost/proxy/https/my-app.de/

我尝试了许多拼写来访问这些变量。我尝试了使用正则表达式和没有 LocationMatch 的替换。我寻找替代品的替代品。

<LocationMatch "/proxy/(?<protocol>https?)/(?<target>.*)">
    RequestHeader unset Accept-Encoding

    RewriteEngine on
    RewriteOptions Inherit
    RewriteRule ^ %{env:MATCH_PROTOCOL}://%{env:MATCH_TARGET} [P]

    AddOutputFilterByType SUBSTITUTE text/html
    Substitute "s|<base href=\"/\" />|<base href=\"/proxy/%{env:MATCH_PROTOCOL}/%{env:MATCH_TARGET}/\" debug=\"%{REQUEST_URI} %\{env:PROTOCOL} %{env:TARGET} \$\\PROTOCOL %{HTTP:HOST}\" />|"

</LocationMatch>

结果是,没有任何帮助
<base href="/proxy/{env:MATCH_PROTOCOL}/%{env:MATCH_TARGET}/" debug="%{REQUEST_URI} %{env:PROTOCOL} %{env:TARGET} $PROTOCOL %{HTTP:HOST}" />

4

0 回答 0