se ho capito bene il tuo sistema e' questo (semplificato):
se e' questo il tuo sistema, il problema e' che sempre cercherà di caricare la pagina (home.php-utenti/profilo.php-admin/form.php), e se non trova nessuna pagina non avrai (se non sbaglio) nessun error 404, perché in realtà la pagina esiste, ciò' che manca e' il contenuto richiamato con il include.Codice PHP:
require('header.php');
$pagina = 'index.php'; //ciò che ho chiamato index, può essere home.php, e' solo la pagina di deafult
if(!empty($_GET['admin'])){ //index.php?admin=xxx
$pagina = 'admin/'. $_GET['admin'] .'.php';
} elseif(!empty($_GET['utenti'])){ //index.php?utenti=xxx
$pagina = 'utenti/'. $_GET['utenti'] .'.php';
}
include $pagina;
require('footer.php')
per assicurarti che il contenuto (quindi home.php-utenti/profilo.php-form.php) esista mi viene in mente 3 modi:
avere i nomi dei contenuti salvati in un DB (home.php-utenti/profilo.php),
se non usi un DB "puoi" (meglio se non lo fai) fare un array con cui confrontare i nomi (invece di avere i dati nel DB si "salvano" nell'array),
un'altro modo che mi viene in mente e' controllare con la funzione php file_exists
se il tuo sistema non e' quello descritto precedentemente, fai prima a postare tutto il codice, perché non ho capito cosa stai facendo e come vuoi farlo, e guardando il codice sarebbe più semplice da capire...