2010-01-25 56 views
0

我们有一个站点位于服务器A上,例如www.blah.com这个URL,但是当它处于活动状态时,它将被访问,例如www .notblah.com将代理请求到服务器A.通过代理传递请求时,通过PHP获取主机和URI

我的问题是,在PHP中,当请求通过代理传递时,如何正确计算出主机和URI? $ _SERVER ['host']和$ _SERVER ['uri']给我的www.blah.com不是通过代理服务器访问的URL。

+0

什么是代理设置?只是一个mod_rewrite? – 2010-01-25 15:50:34

回答

1

尝试$_SERVER['HTTP_REFERER']或与phpinfo()联系,如果您的代理将原始URL添加到HTTP标头中。有些人会。

+1

我已经做了一些尝试,并能够使用$ _SERVER ['HTTP_X_FORWARDED_HOST']获取转发的主机,但是没有关于转发的URI的信息 - 任何想法? – 2010-01-27 18:35:31

+0

没有。抱歉。你最好的选择是使用phpinfo并查看你是否可以在某处找到URL。或者,如果您有权访问代理,请将其配置为包含该URL。 – Gordon 2010-01-27 18:59:35