Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/260.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作为代理修改请求内容_Php_Apache_Sockets_Proxy - Fatal编程技术网

Php 使用apache作为代理修改请求内容

Php 使用apache作为代理修改请求内容,php,apache,sockets,proxy,Php,Apache,Sockets,Proxy,我正在计划一个项目,创建一个自定义代理,在将请求转发到目标服务器之前拦截请求并修改其内容。这样做的目的是用一些只有代理服务器知道的值替换HTTP请求体中的somes标记 我设法在守护进程模式下使用php和socket进行了一些概念验证,效果很好,但我想知道是否有一种解决方案可以避免使用apache作为代理将请求传递给php脚本的完整php守护进程,允许在将其转发到目标服务器之前对其进行修改 有人知道如何做到这一点吗?我已经找到了解决办法。 我已在apache上定义了默认vhost,并在默认vho

我正在计划一个项目,创建一个自定义代理,在将请求转发到目标服务器之前拦截请求并修改其内容。这样做的目的是用一些只有代理服务器知道的值替换HTTP请求体中的somes标记

我设法在守护进程模式下使用php和socket进行了一些概念验证,效果很好,但我想知道是否有一种解决方案可以避免使用apache作为代理将请求传递给php脚本的完整php守护进程,允许在将其转发到目标服务器之前对其进行修改


有人知道如何做到这一点吗?

我已经找到了解决办法。 我已在apache上定义了默认vhost,并在默认vhost的.htaccess上添加了以下重写规则:

RewriteEngine on
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule . index.php [L]
所有请求都被传递到index.php,然后就可以操作请求并将其转发到正确的url

curl -x localhost:80 http://www.google.com
将被默认vhost的index.php截获