我正在使用公共DNS www.siteA.com
运行我的Apache服务器。我正在托管一个内部网站www.siteB.com
。
我想在我的服务器的.htaccess中重写规则,以便在www.siteA.com/getData/mydata.php
请求到达时,它会将此请求代理到www.siteB.com/getData/mydata.php
我在siteA .htaccess中写了这条规则:
RewriteCond %{REQUEST_URI} ^/(getData.*)
RewriteRule (.*) http://www.siteB.com/$1 [P]
但我收到服务器内部错误。可能的原因是什么。我怎样才能实现这个代理呢?
我启用了proxy_module和proxy_http_module。我是否需要编写其他任何内容才能使代理工作?
由于 K2G
答案 0 :(得分:0)
您可以通过几种方式执行此操作,或者尝试使用RewriteRule:
RewriteEngine On
RewriteBase /
RewriteRule ^(getData\/.*) http://www.siteB.com/$1 [P]
或者您可以使用ProxyPass
:
ProxyPass /getData http://www.siteB.com/getData
请注意,这适用于getData
之后的任何内容,例如它会匹配getData/mydata.php
或getData/some/other/path/file.php