Location: PHPKode > projects > Utopia CMS > utopia/index.php
<?php
/**
 * Redirection vers la racine du site Web
 *
 * Ce fichier se charge de la redirection vers la racine du site au cas où la racine du serveur Web ne correspond pas au répertoire www/ d'Utopia. Il est cependant fortement recommandé de ne placer que le répertoire www/ dans l'arborescence Web, pour plus de sécurité.
 * @package Utopia
*/

// La norme HTTP/1.1 (RFC 2616) {@link http://www.faqs.org/rfcs/rfc2616} précise que l'URI en argument de Location doit être absolue, même si l'URI relative fonctionne dans la plupart des cas (pas de problème avec Internet Explorer ou Gecko).
// Portion de code extraite de kernel.php, pour la détection de l'URL absolue du site.
if (!empty($_SERVER['HTTP_SCHEME']))
	$scheme = $_SERVER['HTTP_SCHEME'];
elseif (!empty($_SERVER['HTTPS']) && strtolower($_SERVER['HTTPS']) != 'off')
	$scheme = 'https';
else
	// Simple supposition, mais c'est ce qu'il y a de plus probable.
	$scheme = 'http';

$siteURL = $scheme.'://';

if (!empty($_SERVER['HTTP_HOST'])) {
	$siteURL.= $_SERVER['HTTP_HOST'];

	if (isset($_SERVER['SERVER_PORT']) && !($scheme == 'http' && $_SERVER['SERVER_PORT'] == 80) && !($scheme == 'https' && $_SERVER['SERVER_PORT'] == 443))
		$siteURL.= ':'.$_SERVER['SERVER_PORT'];

	unset($scheme);
}
else
	// Si on a pas le HTTP_HOST, on essai avec une URL "semi" relative (commençant par /).
	$siteURL = '';

// REQUEST_URI contient également le query, qui peut contenir "/" et demanderait donc un traitement supplémentaire avant d'être passé en argument de dirname().
if (isset($_SERVER['SCRIPT_NAME']))
	$siteURL.= dirname($_SERVER['SCRIPT_NAME']);
elseif (isset($_SERVER['PHP_SELF']))
	$siteURL.= dirname($_SERVER['PHP_SELF']);

if (substr($siteURL, -1) != '/')
	$siteURL.= '/';

$siteURL.= 'www/';

if (!empty($_SERVER['QUERY_STRING']))
	$siteURL.= '?'.$_SERVER['QUERY_STRING'];

header('HTTP/1.1 301 Moved Permanently');
header('Status: 301 Moved Permanently');
header('Location: '.$siteURL); unset($siteURL);
exit;
?>
Return current item: Utopia CMS