Visualizzazione dei risultati da 1 a 2 su 2
  1. #1

    Problema con la funzione header

    Salve ragazzi.

    Dopo tanto (e tanti problemi in) ASP 3.0, ho deciso finalmente di passare a php.

    Fenomenale! Fantastico! Irraggiungibile!

    Ma diamine... è SI un linguaggio potente e flessibile ma... che casini ogni volta che si esce dall'ordinario!

    Giustappunto ho questo problema che non riesco a risolvere.

    Nel mio .htaccess ho questo codice:

    Codice PHP:
    ErrorDocument 404 /404.php 
    in modo che, giustamente, quando c'è un errore 404 mi rimanda alla mia paginetta che elabora l'errore e, in caso veramente l'url non esista, da lerrore 404. In caso sia uno dei miei url "particolari", lo rigira il browser ad un pagina apposita.

    Il mio problema è appunto questo: anche se mando il comando
    Codice PHP:
    header("HTTP/1.0 200 OK"); 
    il server mi restituisce sempre e comunque lo status 404! (e quindi google col piffero che mi indicizza le pagine...)

    Come potrei risolvere la situazione?

    Grazie

  2. #2
    Il comportamento che riscontri e' corretto. Se Apache visualizza una pagina di errore, lo status non puo' essere 200 (altrimenti che errore e').

    Puoi tentare di forzare lo status utilizzando un codice come il seguente (il funzionamento dipende dalla versione di Apache e dalla sua configurazione):

    Codice PHP:
    header("HTTP/1.1 200 OK"); 
    header("Status: 200 OK"); 
    Se non vuoi che avvenga dovresti usare mod_rewrite al posto di ErrorDocument, ad esempio:

    RewriteEngine On
    RewriteBase /
    RewriteCond %{REQUEST_FILENAME} !-f
    RewriteCond %{REQUEST_FILENAME} !-d
    RewriteRule . /404.php [L]

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2024 vBulletin Solutions, Inc. All rights reserved.