Redirecționare index în PHP

Salut prieteni!

În acest tutorial vreau să vă arăt un script conceput de mine care redirecționează url-ul www.domeniu.ro/index.php  la www.domeniu.ro în cazul în care fișierul index.php nu este apelat dintr-un folder al domeniului (www.domeniu.ro/site/index.php), iar dacă este apelat dintr-un folder, scriptul redirecționează către acel folder (www.domeniu.ro/site/).

Iată codul :

[cc lang=”php” escaped=”true” ]

<?php
//functia de redirectionare
function redirect($url) {
if (!headers_sent()) {
header(‘Location: ‘.$url);
} else {
echo ‘<meta http-equiv=”refresh” content=”0;url=’.$url.'” />’;
}
}

//functia de redirectionare  de la www.domeniu.ro/index.php la www.domeniu.ro
function redirect_index()
{
$cale = $_SERVER[‘REQUEST_URI’]; //preluam adresa URL-ului
if (preg_match(‘/index\.php$/’, $cale)) //verificam daca URL-ul contine index.php
{
preg_match_all(‘/(.+?\/)index\.php/’, $cale, $m); //facem preg_match_all de url iar   daca URL-ul contine un sub folder $m[1][0] va fi denumirea subfoder-ului
if (isset($m[1][0]))  {
redirect($m[1][0]); //daca exista  un folder redirectionam catre acel folder
} else {
$root = ‘http://’.$_SERVER[‘SERVER_NAME’]; //daca nu preluam denumirea domeniului
redirect($root); //si redirectionam la acel domeniu
}
}
}
redirect_index(); //iar in final apelam functia
?>

[/cc]

Lasă un comentariu