我知道这很简单,我已经看到它回答了其他几个地方,所有这些似乎都表明我所尝试的是正确的。
我想将/api/foo/bar
代理到https://www.example.com/foo/bar
。
我没有匹配的规则是:
RewriteEngine On
RewriteRule "/api/(.*)$" "https://www.example.com/$1" [P]
注意:我只能访问.htaccess,因此我无法使用ProxyPass
或ProxyPassReverse
答案 0 :(得分:1)
RewriteEngine On RewriteBase /
RewriteRule ^ api / foo / bar $ https://www.newdomain.com/ $ 1 [L,R = 301]
<强>更新强>
根据apache文档,您无法在 .htaccess 中使用ProxyPass指令,因此必须在apache中的虚拟主机中进行配置。
但是,您可以使用 ProxyPassReverse 在内部重写导致重定向的代理请求的位置字段。你只需要使用 mod_rewrite 的P标志来代理 ProxyPass 。
因此,请尝试在 .htaccess 文件中添加以下代码:
a := 1
f := func() int { a++; return a }
x := []int{a, f()}
// x may be [1, 2] or [2, 2]: evaluation order between a and f() is not specified
检查一下是否效果更好!