Newsgroup: it.comp.www.php
Titolo: ErrorDocument e REDIRECT_URL

Ho un problema con uno script per gestire le pagine di errore su un
hosting. Ho configurato correttamente il file .htaccess per richiamare
la pagina 404.php, e il tutto sembra funzionare, senonche' il campo
REDIRECT_URL (e suoi parenti) assume il valore dello script 404.php. Le
ho provate tutte, ma niente, non c'e' modo di conoscere l'URL della
pagina che ha generato l'errore. Attualmente ho utilizzato uno sporco
workaround in javascript per scrivere (sul client) l'URL della pagina
non trovata, che compare correttamente nella barra degli indirizzi. Ma
che il PHP sembra ignorare.
i file sono questi:
.htaccess
-->8--
ErrorDocument 404 /error/404.php
-->8--
/error/404.php
-->8--
<?php
   print_r($_SERVER);
?>
-->8--
Alla richiesta di 
http://il.mio.sito/non/esiste.html
 la pagina 404.php
mi stampa questo:
Array
(
    [DOCUMENT_ROOT] => /il/mio/hosting/htdocs/www
    [HTTP_ACCEPT] => */*
    [HTTP_ACCEPT_ENCODING] => gzip, deflate
    [HTTP_ACCEPT_LANGUAGE] => it-it
    [HTTP_CONNECTION] => close
    [HTTP_COOKIE] => Apache=82.55.X.Y.20753111451078658
    [HTTP_HOST] => il.mio.sito
    [HTTP_USER_AGENT] => Mozilla/5.0 (Macintosh; U; PPC Mac OS X; it-it)
AppleWebKit/312.1 (KHTML, like Gecko) Safari/312
    [HTTP_X_FORWARDED_FOR] => 82.55.X.Y
    [HTTP_X_FORWARDED_HOST] => il.mio.sito
    [HTTP_X_FORWARDED_SERVER] => alias.del.provider
    [PATH] => /bin:/usr/bin:/sbin:/usr/sbin
    [REDIRECT_SCRIPT_URI] => 
http://il.mio.sito/error/404.php
    [REDIRECT_SCRIPT_URL] => /error/404.php
    [REDIRECT_STATUS] => 200
    [REDIRECT_URL] => /404.php
    [REMOTE_ADDR] => 82.55.X.Y
    [REMOTE_PORT] => 49340
    [SCRIPT_FILENAME] => /il/mio/hosting/htdocs/www/error/404.php
    [SCRIPT_URI] => 
http://il.mio.sito/error/404.php
    [SCRIPT_URL] => /404.php
    [SERVER_ADDR] => 212.78.W.Z
    [SERVER_ADMIN] => weba...@il.mio.provider
    [SERVER_NAME] => il.mio.sito
    [SERVER_PORT] => 80
    [SERVER_SIGNATURE] => 
    [SERVER_SOFTWARE] => Apache (UNIX)
    [GATEWAY_INTERFACE] => CGI/1.1
    [SERVER_PROTOCOL] => HTTP/1.1
    [REQUEST_METHOD] => GET
    [QUERY_STRING] => 
    [REQUEST_URI] => /error/404.php
    [SCRIPT_NAME] => /404.php
    [PATH_INFO] => /error/404.php
    [PATH_TRANSLATED] => /il/mio/hosting/htdocs/www/error/404.php
    [PHP_SELF] => /error/404.php
    [argv] => Array
        (
        )
    [argc] => 0
)
Mi insospettisce che REDIRECT_URL e SCRIPT_URL siano settate a /404.php,
senza il prefisso /error/, forse c'e' un loop da qualche parte? In tal
caso, come faccio ad accorgermene? :)
Se puo' essere utile, questi sono i comandi di configurazione
dell'installazione di PHP:
Configure Command
 './configure' '--bindir=/data/apache/cgi-bin' '--with-jpeg-dir=/usr'
'--with-png-dir=/usr' '--with-zlib=/usr' '--with-bz2=/usr'
'--with-tiff-dir=/usr' '--with-zip' '--with-gd=/usr'
'--with-ttf=/usr/include/freetype2/freetype' '--with-freetype-dir=/usr'
'--with-mhash' '--with-dom=/usr' '--with-ming=/usr' '--without-pear'
'--enable-gd-native-ttf' '--enable-calendar' '--enable-bcmath'
'--enable-safe-mode' '--enable-memory-limit' '--enable-trans-sid'
'--disable-posix' '--enable-sockets' '--with-mysql=/usr/'
'--enable-force-cgi-redirect' '--with-clibpdf' '--with-ftp'
'--with-imap' '--with-kerberos' '--with-gettext' '--with-mcrypt=/usr/'
'--with-mime-magic' '--with-xml-rpc' '--with-pspell'
'--with-mcal-dir=/usr/' '--enable-mbstring=all' '--enable-mbregex'
'--with-openssl=/usr/' '--with-imap-ssl=/usr/' '--enable-xslt'
'--with-xslt-sablot' '--enable-ftp' '--with-iconv' '--with-xmlrpc'
'--with-xpm-dir' '--without-cli' '--enable-soap' '--enable-lzf'
'--enable-mailparse' '--enable-id3'
Grazie e buona notte (ora vado a dormire perche' sto fondendo)
-- 
Quando acquistiamo un'automobile giapponese, i Giapponesi ci
ringraziano. Quando ne acquistiamo una italiana, a ringraziarci
e' il nostro meccanico.

prova questo
http://www.advbanner.com/Script/gestione-errori.php
-- 
Se qualcosa va male non preoccuparti. Domani andrà peggio