我在 Linux 上运行 Apache 2.4。我有一个工作.htaccess
文件。
作为测试,我正在执行重定向/ws/xyz123
到https://www.google.com
。
因此我提出请求http://example.com/ws/xyz123
并且被正确重定向到谷歌。
当我为目录添加反向代理时,出现了/ws
以下问题:
ProxyPass /ws http://192.168.25.2:7003/ws retry=0
ProxyPassReverse /ws http://192.168.25.2:7003/ws
代理工作正常,但.htaccess
现在被忽略了。如果我注释掉代理行,它又.htaccess
可以正常工作了。我需要两者都能正常工作。有没有办法让.htaccess
代理正常工作。
答案1
这ProxyPass /ws http://192.168.25.2:7003/ws
只是一个替代语法 为了ProxyPass
, 相当于
<Location "/ws">
ProxyPass "http://192.168.25.2:7003/ws"
</Location>
当您在里面使用 mod_proxy 时<Location>
,Apache 从不查看目录(具有相对于 的相同路径DocumentRoot
),从而省略文件中的所有指令.htaccess
。
您应该将指令移至服务器配置,即在<Location>
或<VirtualHost>
上下文中而不是.htaccess
上下文中使用它们。