Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 11
  1. #1

    Salvare indirizzi errore 404

    Ho un sito in PHP in cui una pagina "home.php" contiene il template del sito. Tramite le RewriteRule di Apache ho modificato gli URL della pagine per renderli come se fossero statici.
    Le pagine di errore le gestisco con queste righe del file .htaccess
    codice:
    ErrorDocument 400 /not_found.php
    ErrorDocument 401 /not_found.php
    ErrorDocument 403 /not_found.php
    ErrorDocument 404 /not_found.php
    ErrorDocument 500 /not_found.php
    In cui la pagina "not_found.php" da il messaggio di errore e vorrei che registrasse la pagina che si intendeva chiamare.

    Il problema č che non so come fare per conoscere il nome della pagina che l'utente voleva quando avviene uno degli errori gestiti dalla regola.

    Mi sapete dire come fare?
    Grazie mille

  2. #2
    Moderatore di Server Apache L'avatar di marketto
    Registrato dal
    Sep 2001
    Messaggi
    5,858
    nel file not_found.php inserisci:
    codice:
    echo $_SERVER['REQUEST_URI'];

    think simple think ringo

  3. #3
    Molte grazie, č proprio quello che cercavo!

  4. #4
    A distanza di mesi ritorno sull'argomento. Infatti quando si verifica un errore 404 la variabile $_SERVER['REQUEST_URI'] che uso nella pagina not_found.php contiene "/not_found.php" e non l'indirizzo della pagina che ha generato l'errore.
    Come posso trovare questo indirizzo?

    Grazie mille

  5. #5
    potresti usare una sessione riempita nella pagina precedente :master:

  6. #6
    Quale pagina precedente scusa?

  7. #7
    la pagina da cui arrivi... :master:
    ma come fai la gestione errori 404?

    io darei la possibilitā all'utente di scrivere l'indirizzo

  8. #8
    Ma se l'errore 404 dipende ad esempio da un'errata digitazione dell'indirizzo? O da un link errato da un sito esterno?

  9. #9
    Originariamente inviato da apusoft
    Ma se l'errore 404 dipende ad esempio da un'errata digitazione dell'indirizzo? O da un link errato da un sito esterno?
    ecco appunto... bisogna diversificare no?
    fai un form dove l'utente possa segnalare il link errato

  10. #10
    mmm, potresti provare a fare una cosa del genere, usando mod rewrite:
    codice:
    # tua condizione per cui effettui il rewrite
    RewriteRule tuo_pattern tua_pagina.php?etc=etc [L]
    # ...
    # .... 
    
    RewriteCond %{REQUEST_FILENAME} !-f
    # probabile che questa seconda condizione sia ridondante
    RewriteCond %{REQUEST_URI} !tuo_pattern
    
    RewriteRule ^(.*)$ /not_found.php [E=WRONG_PATH:$1,L]
    Poi nella pagina recuperi il link con $_SERVER['REDIRECT_WRONG_PATH'].

    Edit: serve anche una condizione sulle directory, se no non becca l'error 403, quindi:
    codice:
    RewriteCond %{REQUEST_FILENAME} !-f
    RewriteCond %{REQUEST_FILENAME} !-d
    # probabile che questa seconda condizione sia ridondante
    RewriteCond %{REQUEST_URI} !tuo_pattern
    
    RewriteRule ^(.*)$ /not_found.php [E=WRONG_PATH:$1,L]
    dA .. foto di viaggio
    L'esperienza č il tipo di insegnante pių difficile.
    Prima ti fa l'esame, e poi ti spiega la lezione.

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 © 2025 vBulletin Solutions, Inc. All rights reserved.