Apache 2.2.15-重定向上的ProxyPassReverse异常

时间:2018-08-02 07:34:50

标签: apache mod-rewrite httpd.conf

我在Apache 2.2.15上具有多域/多语言构造,可将请求代理到https://www.domain.de。 正常,除了我要重定向到主域。

我想将https://www.domain.cn/de/重定向到https://www.domain.de/de/

mod_rewrite规则工作正常,日志告诉我,mod_rewrite希望重定向到正确的URL。 由于ProxyPassReverse会覆盖位置,因此也会覆盖重定向的位置。因此,

除了重定向之外,我需要ProxyPassReverse进行所有操作。我该怎么办?

我可以向mod_rewrite规则添加环境变量(“ E:redirected”)。但是当我使用ProxyPassReverse时如何检查?

我不能使用no-proxy,因为它在Apache 2.4.26及更高版本中可用

虚拟主机

<VirtualHost *:443>
  SSLEngine on
  ServerName www.domain.cn

  # Proxy startpage to /zh/
  ProxyPassMatch "^/$" https://www.domain.de/zh disablereuse=on

  # Proxy all other URLs completely
  ProxyPass / https://www.domain.de/ disablereuse=on
  ProxyPassReverse / https://www.domain.de/
</VirtualHost>

mod_rewrite规则

RewriteCond %{HTTP:orig-host} www\.domain\.cn$ [NC]
RewriteCond %{REQUEST_URI} ^/de/$ [NC]
RewriteCond %{REQUEST_METHOD} =GET
RewriteCond %{REQUEST_URI}?%{QUERY_STRING} ^/(.*)$ [NC]
RewriteRule ^.*$ http://www.domain.de/de/ [R=301,L,NE]

0 个答案:

没有答案