Re: Re: header

From: Date: Tue, 16 Sep 2008 16:49:45 +0000
Subject: Re: Re: header
References: 1 2 3  Groups: php.general 
Request: Send a blank email to php-general+get-280292@lists.php.net to get a copy of this message
tedd wrote:
At 3:16 PM +0100 9/16/08, Nathan Rixham wrote:
Alain R. wrote:
Hi, how in PHP can i create the similar header as following ? <head> <base href="www.mywebsite.com"> </head> thx. A.
just incase everybody else went down a complete tangent on this one <head> <base href="<?php echo $_SERVER['HTTP_HOST']; ?>"> </head> it's not nice, elegant, the *proper* way to do things but it'll do the job if I understand you correctly
I don't see anything wrong with it. It looks nice, elegant and proper to me. Cheers, tedd
thanks tedd, to be full proof though there's a lot lacking; for example http/1.0 browsers don't pass through HTTP_HOST seeing as it's only in http/1.1; also even on http/1.1 it's sometimes spoofed; further there's the whole HTTPS_HOST to concider; there's only one full proof method and thats to simple hard code or define it: define('PUBLIC_BASE_HREF' , 'http://php.net/') <head> <?php echo PUBLIC_BASE_HREF; ?> </head> or the "will probably work for all http/1.1 https calls" multi-site version: <?php define('ACCESS_PROTOCOL', isset($_SERVER['HTTPS']) && $_SERVER['HTTPS'] ? ( $_SERVER['HTTPS'] && strtolower($_SERVER['HTTPS']) != 'off' ? 'https' : 'http' ) : 'http' . '://'); if( isset($_SERVER['HTTP_HOST']) && $_SERVER['HTTP_HOST'] ) { define('PUBLIC_BASE_HREF', ACCESS_PROTOCOL . strtolower($_SERVER['HTTP_HOST']) . '/'); } else { define('PUBLIC_BASE_HREF', FALSE); } function html_base_href() { return PUBLIC_BASE_HREF ? '<base href="' . PUBLIC_BASE_HREF . '">' . PHP_EOL : ''; } ?> <head> <?php echo html_base_href(); ?> </head> and I really don't have the time to go into templating; somebody should really bring out a "class environment" or such like with all of this in it..

« previous php.general (#280292) next »