Re: server name that the user agent used
| From: | Tom Worster | Date: | Mon, 14 Sep 2009 13:03:41 +0000 |
| Subject: | Re: server name that the user agent used | ||
| References: | 1 | Groups: | php.general |
| Request: | Send a blank email to php-general+get-298004@lists.php.net to get a copy of this message | ||
On 9/13/09 10:24 PM, "Tommy Pham" <tommyhp2@yahoo.com> wrote:
> --- On Sun, 9/13/09, Tom Worster <fsb@thefsb.org> wrote:
>
>> From: Tom Worster <fsb@thefsb.org>
>> Subject: [PHP] server name that the user agent used
>> To: "PHP General List" <php-general@lists.php.net>
>> Date: Sunday, September 13, 2009, 8:21 PM
>> when using apache with one vhost that
>> responds to a few different hostnames,
>> e.g. domain.org, y.domain.org, x.domain.org, let's say the
>> vhost's server
>> name is y.domain.org and the other two are aliases, is
>> there a way in php to
>> know which of these was used by the user agent to address
>> the server?
>>
>
> Did you see what comes up with php_info() for
> $_SERVER["SERVER_NAME"] or $_SERVER["HTTP_HOST"] ?
SERVER_NAME returns whatever apache has as the vhost's configured server
name.
the php manual says of HTTP_HOST: "Contents of the Host: header from the
current request, if there is one." in which the last 4 words are a little
off-putting. but:
http://www.w3.org/Protocols/rfc2616/rfc2616-sec14.html#sec14.23
i much more encouraging. the field is mandatory and should have what i'm
looking for. it's absence is cause for a 400. casual testing (with a modern
non-ie browser) seems to bear this out.
so i'll try using that with fallback to my current techniques if i don't
find a good value in HTTP_HOST.