mi sapete consigliare il metodo migliore per includere una pagina 404 personalizzata?? dite di creare una paginetta html o è meglio se la includo tramite php??
vorrei capire pro e contro di entrambe le soluzioni...
Grazie mille per l'aiuto...
Moderatore: Staff


Non capisco il tema... la 404 si dovrebbe inserire come redirect di apache tipo come c'è scritto qui. A questo punto è una pagina come tutte le altre, puoi crearla dinamica così che riporti informazioni sulla provenienza e instradi meglio l'utente o può esere un semplice HTML...danix85 ha scritto:Ciao a tutti...
mi sapete consigliare il metodo migliore per includere una pagina 404 personalizzata?? dite di creare una paginetta html o è meglio se la includo tramite php??
vorrei capire pro e contro di entrambe le soluzioni...
Grazie mille per l'aiuto...



Codice: Seleziona tutto
www.miosito.it/paginainesistente.extCodice: Seleziona tutto
www.miosito.it/index.php?p=paginainesistente
Lato apache non è un 404 perché la index.php c'è. Secondo me devi filtrare i valori di p e gestire un "else" per tutti quelli non considerati. Se vuoi penso sia rapidissimo impostare in questo caso una redirect che alla fine fa ricadere il server in 404 e fa venire su la pagina di cui si parlava prima.danix85 ha scritto:altra carne al fuoco...
nell'htaccess io specifico un ErrorDocument per il 404, giusto?? questo però verrà utilizzato solo in questo caso specifico:mi seguite??Codice: Seleziona tutto
www.miosito.it/paginainesistente.ext
se invece mi trovo in questa situazione:php se ne uscirà con un errore di inclusione non riuscendo a trovare la pagina in questione... in questo caso però non riesco a fargli mandare un header 404, perchè trovandomi all'interno della index.php l'header è già settato a text/html... come potrei fare?? si può lavorare a livello di htaccess (credo di no) o devo scrivere qualche controllo in php??Codice: Seleziona tutto
www.miosito.it/index.php?p=paginainesistente
Grazie per l'aiuto...

Codice: Seleziona tutto
ErrorDocument 401 /errors/401.php
ErrorDocument 403 /errors/403.php
ErrorDocument 404 /errors/404.php
ErrorDocument 500 /errors/500.phpCodice: Seleziona tutto
ErrorDocument 401 /errors.php?code=401
ErrorDocument 403 /errors.php?code=403
ErrorDocument 404 /errors.php?code=404
ErrorDocument 500 /errors.php?code=500Codice: Seleziona tutto
<?php
$error_code = $_GET['code'];
echo "<h1>Errore $error_code</h1>\n";
if($error_code == "404") {
echo "<p>Pagina non trovata</p>\n";
} elseif ($error_code == "500") {
echo "<p>Pagina non trovata</p>\n";
} else {
echo "<p>Errore non conosciuto</p>\n";
}
Codice: Seleziona tutto
ErrorDocument 404 /index.php?error=404Codice: Seleziona tutto
ErrorDocument 404 /index.php
Vuoi che invii una mail a ogni 404? Ma è un sito su internet? Conta che in questo caso riceverai uno mucchio di spam per i tentatvi di hack per raggiungere pagine amministrative o altre robe del genere, senza contare i furbini che cercheranno di riscriversi la URL per vedere i contenuti non ancora rivelati...danix85 ha scritto: tra l'altro la pagina 404 sarà comunque in php anche se a se stante perchè ci dovrò includere del codice per inviarmi una mail con l'errore che l'ha richiamata...![]()


Sicuramente il log è meno disordinato di un invio continuo di mail a mio parere... ovviamente bisogna valutare come crescono per non ingolfare l'harddisk... Conta che già i log di apache, di per sé, riportano i 404, comunque. In proposito, non hai già un sistema di reportistica degli accessi che potrebbe gestire la cosa?danix85 ha scritto:Grazie delle risposte...
Dal momento che ho il SafeMode di php spento, potrei fare in modo che i 404 mi vengano salvati su un log, e magari una volta a settimana potrei farmi spedire il log via mail...
che ne pensate??

Se hai un gestore di statistiche ci pensa lui a mostrarti i 404, altrimenti ne metti uno tu.danix85 ha scritto: che ne pensate??
Codice: Seleziona tutto
/2006/11/index.php
/phpwcms/include/inc_ext/spaw/dialogs/table.php
/2006/index.php
/sitemap.html
/2006/phpwcms/include/inc_ext/spaw/dialogs/table.php
/_vti_bin/owssvr.dll
/bmckulchjxzz.html
/MSOffice/cltreq.asp