Visualizzazione risultati 1 fino 6 di 6

Discussione: Eseguire una rewrite in caso di fallimento di un'altra rewrite

  1. #1
    L'avatar di miki92
    miki92 non è connesso AlterGuru 2500
    Data registrazione
    21-04-2007
    Residenza
    Procida (NA)
    Messaggi
    4,233

    Predefinito Eseguire una rewrite in caso di fallimento di un'altra rewrite

    Buongiorno,
    chiedo scusa se il titolo non è dei migliori ma ho la necessita di eseguire una determinata rewrite nel caso in cui la sua rewrite precedente fallisca/restituisca un errore 404 o un determinato header.

    Questo è il codice in uso:

    Codice PHP:
    RewriteCond %{REMOTE_ADDR} ^xxx.xxx.xxx.xxx$
    RewriteRule ^(.*)$ directory/$1/source.php [L,QSA]
    #RewriteRule ^(.*)$ not_allow.php [L]

    ErrorDocument 404 http_404.html
    Ora avrei bisogno che se la rewrite che vediamo restituisse un errore 404 (o comunque fallisse) venisse eseguita la rewrite commentata.

    Avete qualche soluzione?
    Apprezzi l'aiuto? Offrimi un caffè!

  2. #2
    L'avatar di dreadnaut
    dreadnaut non è connesso Super Moderatore
    Data registrazione
    22-02-2004
    Messaggi
    6,306

    Predefinito

    Una regola di riscrittura in sé non può fallire, ed una volta chiamata una pagina si è fuori dal processo di riscrittura, e non si può più tornare indietro. Quindi non si può.

    Con RewriteCond puoi eseguire controlli sull'esistenza di file, directory ed altri parametri. Se non ti basta, devi gestire la cosa via php, con dei redirect, che è forse la scelta migliore in ogni caso, per mantenibilità e compatibilità.

  3. #3
    L'avatar di miki92
    miki92 non è connesso AlterGuru 2500
    Data registrazione
    21-04-2007
    Residenza
    Procida (NA)
    Messaggi
    4,233

    Predefinito

    Immaginavo. Ma c'è il modo di far diventare {REMOTE_ADDR} una variabile e quindi, per esempio, controllare se è presente una directory con quel numero?

    Cioè una cosa del genere:
    Codice PHP:
    RewriteCond %{REMOTE_ADDR} xxx.xxx.xxx.xxx -d
    Perchè non funziona/può funzionare?
    Apprezzi l'aiuto? Offrimi un caffè!

  4. #4
    L'avatar di dreadnaut
    dreadnaut non è connesso Super Moderatore
    Data registrazione
    22-02-2004
    Messaggi
    6,306

    Predefinito

    Non ho capito bene cosa tu intenda fare, ma se fra i test disponibili, dovrebbe funzionare.
    Ultima modifica di dreadnaut : 21-11-2012 alle ore 14.43.13 Motivo: - ortog.

  5. #5
    L'avatar di miki92
    miki92 non è connesso AlterGuru 2500
    Data registrazione
    21-04-2007
    Residenza
    Procida (NA)
    Messaggi
    4,233

    Predefinito

    Ho provato. Ma potrebbe essere la configurazione di apache del server che non mi fa funzionare la regola per questo chiedevo.

    Quello che vorrei fare, per esempio, è controllare se ESISTE una directory il cui nome è l'indirizzo IP del visitatore.
    Apprezzi l'aiuto? Offrimi un caffè!

  6. #6
    L'avatar di dreadnaut
    dreadnaut non è connesso Super Moderatore
    Data registrazione
    22-02-2004
    Messaggi
    6,306

    Predefinito

    Una cosa del genere da me sembra funzionare:
    Codice:
    RewriteEngine On
    
    # se la directory xxx.xxx.xxx.xxx non esiste, esegui la regola successiva
    RewriteCond d:/www/test/miki92/%{REMOTE_ADDR} !-d
    RewriteRule <quel che vuoi> [L]

Regole di scrittura

  • Non puoi creare nuove discussioni
  • Non puoi rispondere ai messaggi
  • Non puoi inserire allegati.
  • Non puoi modificare i tuoi messaggi
  •