ciao
come faccio a reindirizzare sulla home quando qualcuno arriva in un link sbagliato del sito(tipo gino.altervista.org/123.htm al posto di .html)?
Printable View
ciao
come faccio a reindirizzare sulla home quando qualcuno arriva in un link sbagliato del sito(tipo gino.altervista.org/123.htm al posto di .html)?
Potresti usare l'errore 404 personalizzandolo in modo tale che al posto di mostrarti la pagina che manca faccia un redirect automatico sulla tua Home Page.
ecco non so come modificarlo e non so come modificare il redirect
Nelle FAQ tecniche avresti trovato come personalizzare le pagine d'errore.
Crea nella root del tuo spazio il file "not_found.php" e inserisci al suo interno:
Se per il redirect non vuoi utilizzare PHP puoi usare anche i meta tag o JavaScript, facendo una ricerca nel forum puoi avere maggiori informazioni in merito.Codice PHP:<?php
header('HTTP/1.1 301 Moved Permanently');
header('Location: http://seguenza.altervista.org');
?>
Ciao!
i 2 codici li devo mettere sotto quale tag???
cioè non c'è un modo per fare andare un attimo su una pagina che ti dica una informazione???e per personalizzare la scritta e il nome della pagina???
se vuoi fare una pagina di errore seria, allora lascia stare il redirect, ma crea una pagina (sempre chiamata not_found.php o not_found.html) che contenga il messaggio che vuoi più una serie di link utili all'interno del tuo sito: così chi sbaglia invece di tornare solo alla home page avrà la possibilità di scegliere a quale sezione o pagina andare - fa sempre piacere quando visiti un sito!
Se vuoi poi personalizzare il nome della pagina di errore, allora devi attivare il supporto .htaccess dal pannello di controllo (sotto Risorse e Upgrade, costo 1000AC), e usare la direttiva ErrorDocument per configurare la pagina che vuoi[/url]
troppo difficile grazie lo stesso
Devi solo creare una semplice pagina... http://forum.it.altervista.org/basi-...-iniziare.html
dico il .htaccess
Ma non ti serve l'.htaccess perché la pagina d'errore funziona già "not_found.html" o "not_found.php".
allora deciso uso il codice php però 2 cose:
come posso modificare il codice per far si che mi rimandi in una pagina che non sia index.html???
posso differenziare gli errori per i sottodomini (tipo ho il sottodominio pincopallino.seguenza.altervista.org e come errore per chi sbaglia e mette pincopallino.seguenza.altervista.org/45)così da reiindirizzarli nella home del sottodominio???
Prova a utilizzare $_GET['missing_host'] (FAQ Tecniche).Codice PHP:<?php
header("HTTP/1.1 301 Moved Permanently");
header("Location: http://seguenza.altervista.org/altrapagina.html");
?>
Per restare in argomento chiedo un momento qui. Ho provato, come da FAQ, ad utilizzare $_GET['missing_host'] e $_GET['missing_document'] ma il risultato e nullo, non mi mostra la pagina che non è stata trovata.
Se utilizzi .htaccess, è logico che non ti funziona. Se utilizzi il metodo di AlterVista, devi utilizzare la pagina "not_found.php".
Un modo per .htaccess non ci sarebbe? O anche semplicemente una stringa di PHP non esiste?
Puoi sostituire $_GET['missing_host'] con $_SERVER['HTTP_HOST'] e $_GET['missing_document'] con $_SERVER['REQUEST_URI'].
Grazie funcool ho risolto con $_SERVER['REQUEST_URI'].
No seguenza, funcool si riferiva a me che non utilizzo la pagina "not_found.php" ma un semplice file di .htaccess che porta a una pagina php.
quindi che devo farci???la devo mettere nel not_found.php della cartella del sottodominio????
Nel file "not_found.php" prova a mettere:
Codice PHP:<?php
$sottodominio=str_replace("seguenza.altervista.org","",$_GET['missing_host']);
echo "Sei nel sottodominio".$sottodominio;
?>
@miki92 - la smettiamo di creare confusione? leggi prima di postare, poi scrivi li tuo post, poi rileggi una seconda volta tutto il thread per sicurezza - tanto mi sembra che tu di tempo ne abbia.
Seguenza, c'è un'unica pagina not_found.php per tutti i "sottodominii" - quando un file non viene trovato, vieni reindirizzato ad essa e come parametri vengono passati il nome del file non trovato e il dominio/sottodominio su cui si era cercato.
Se tu nella pagina php controlli il valore della variabile $_GET['missing_host'], puoi sapere da quale dominio arriva l'errore e mostrare un messaggio diverso. Esempio:
Codice PHP:<?php
if ( $_GET['missing_host'] == 'forum.seguenza.altervista.org' ) {
echo "file non trovato sul forum";
} else {
echo "file non trovato sul sito";
}
?>
ok perfetto