Codice PHP:
	
<?php
function get_domain_url($url)
{
    if(substr($url, 0, 7) !== "http://")
    {
        $url = "http://".$url;
    }
    $a = explode("/", $url);
    $b = explode(".", $a[2]);
    return $b[1];
}
function get_ext_url($url)
{
    if(substr($url, 0, 7) !== "http://")
    {
        $url = "http://".$url;
    }
    $a = explode("/", $url);
    $b = explode(".", $a[2]);
    return $b[2];
}
$sito = "http://sottodominio.sito.ext/directory1/file.html";
$referer = 'http://www.sito.ext/directory1/directory2/file8.php';
if(get_domain_url($sito) == get_domain_url($referer) && get_ext_url($sito) == get_ext_url($referer))
{
    echo "ok";
}
else
{
    echo "no!";
}
?>
 
Non so usare le espressioni regolari, quindi questo (per me) è il modo migliore. Controlla e fai dei test per verificare che non ci siano casi particolari che lo fanno incasinare, anche se non dovrebbe.
 