Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/apache/8.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 重写Apache执行reverseproxy的规则_Php_Apache_.htaccess_Proxy - Fatal编程技术网

Php 重写Apache执行reverseproxy的规则

Php 重写Apache执行reverseproxy的规则,php,apache,.htaccess,proxy,Php,Apache,.htaccess,Proxy,我正在使用公共DNS运行Apache服务器,比如www.siteA.com。我主持一个内部网站是www.siteB.com 我想在我的服务器的.htaccess中重写规则,以便在任何时候请求到达www.siteA.com/getData/mydata.php时,它都会将该请求代理到www.siteB.com/getData/mydata.php 我已在siteA.htaccess中编写了此规则: RewriteCond %{REQUEST_URI} ^/(getData.*) RewriteRu

我正在使用公共DNS运行Apache服务器,比如www.siteA.com。我主持一个内部网站是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_模块和proxy_http_模块。我还需要写些什么才能让代理正常工作吗

谢谢
k2G

有两种方法可以做到这一点,或者使用您尝试过的重写规则:

RewriteEngine On
RewriteBase /
RewriteRule ^(getData\/.*) http://www.siteB.com/$1 [P]
或者您可以使用ProxyPass:


请注意,这将适用于getData之后的任何内容,例如,它将匹配getData/mydata.php或getData/some/other/path/file.php

感谢您的响应。我想从我的主地址中找出代理地址。也就是说,如果我的请求是-。我想把这个代理给你。有可能吗?>我不太明白。如果您在myaddress.domain.com的站点配置中有上述配置,则可以这样做。我不知道您是否指传递主机头?
ProxyPass /getData http://www.siteB.com/getData