繁体   English   中英

Apache代理Lighttpd:在PHP中更改$ _SERVER ['HTTP_HOST']

[英]Apache proxy to Lighttpd: changing $_SERVER['HTTP_HOST'] in php

我有一个运行在lighttpd-1.4.19上的WordPress博客,其网址为www00:81。 在同一主机上,apache-2.2.11侦听端口80,该端口创建从http://blog.mydomain.org:80http://blog.mydomain.org:81的代理连接(两者都是相同的物理端口)机)。

Apache虚拟主机如下所示:

<VirtualHost *:80>
    ServerName blog.mydomain.org
    ProxyRequests Off

    <Proxy *>
    Order deny,allow
    Allow from all
    </Proxy>

    ProxyPass / http://blog.mydomain.org:81/
    ProxyPassReverse / http://blog.mydomain.org:81/
</VirtualHost>

使用debug.log-request-handling = "enable" ,浏览http://blog.mydomain.org:80时,会得到以下日志条目(请注意Host标头):

2010-05-10 08:47:14: (request.c.294) fd: 6 request-len: 853 
GET / HTTP/1.1
Host: blog.mydomain.org:81
[...]

2010-05-10 08:47:15: (request.c.294) fd: 8 request-len: 754 
GET /wp-content/uploads/2010/01/image.gif?w=280 HTTP/1.1
Host: www00:81

我的问题:据我所知,PHP环境变量$_SERVER['HTTP_HOST']设置为该Host标头变量。 不幸的是,WordPress在其系统中使用该变量来创建指向博客上图片的URL。 当然,在防火墙后将无法访问这些URL。 如何强制将主机标头分别为blog.mydomain.org而不是blog.mydomain.org:81www00:81 我已经将set server.name = "blog.mydomain.org"到了我的lighttpd.conf ,但这没有用。

任何建议表示赞赏,谢谢。

您是否尝试过编辑wp-config.php 应该可以覆盖自动主机检测。

即:

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM