我以前从未设置过代理。我正在使用共享主机,因此要设置 Apache 指令,我需要使用 .htaccess。我可以使用 .htaccess 来做类似下面的事情吗?有什么限制吗?

ProxyRequests Off
ProxyPass /img/ http://internal.example.com/img/
ProxyPass /app/ http://internal.example.com/app/

ProxyPassReverse / http://internal.example.com/

最佳答案

You cannot use a ProxyPass in an htaccess file。文档说它仅适用于以下上下文:



其中不包括 htaccess(在 htaccess 中不能有 <Directory> 块)。但是,您可以使用 ProxyPassReverse 在内部重写导致重定向的代理请求的位置字段。您只需要使用 mod_rewrite 的 P 标志来代理而不是 ProxyPass 。所以像:

RewriteEngine On
RewriteRule ^/?img/(.*)$ http://internal.example.com/img/$1 [L,P]
RewriteRule ^/?app/(.*)$ http://internal.example.com/app/$1 [L,P]

ProxyPassReverse / http://internal.example.com/

需要明确的是,您不能在 htaccess 文件中使用 ProxyPassProxyPassReverse,但您可以将 ProxyPassReverse 与使用 0x251812231134 的 mod_rewrite 规则一起使用。

关于apache - ProxyPass 和 ProxyPassReverse 可以在 htaccess 中工作吗?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/12808506/

10-16 09:50