-
Redirect Totale
Salve a tutti, vorrei sapere come posso fare un redirect totale di tutte le pagine, mi spiego meglio, io vorrei che se qualcuno cerca di entrare in una pagina qualsiasi del sito venga fatto il redirect verso www.ilmiosito.XX/manutenzione/
Avevo pensato ad un .htaccess, qualcuno può darmi qualche dritta??
-
Puoi fare in questo modo:
http://dreadnaut.altervista.org/_alt...-sign-tiny.png Soluzione incorretta
Codice PHP:
RewriteEngine On
RewriteBase /
Redirect temporary ^(.*).estensione_pagine_sito$ http://sito.altervista.org/manutenzione/
-
mi da errore 500 come mai??
-
Hai cambiato estensione_pagine_sito con l'estensione? :wink:
-
Allora prova con:
http://dreadnaut.altervista.org/_alt...-sign-tiny.png Soluzione incorretta
Codice PHP:
Redirect 302 /(.*).ext http://sito.altervista.org/manutenzione/
Oppure:
http://dreadnaut.altervista.org/_alt...-sign-tiny.png Soluzione incorretta
Codice PHP:
RedirectMatch (.*).ext http://sito.altervista.org/manutenzione/
-
posso cambiare .la_mia_estensione con .*
il mio sito è in php ma ho attivato l'url rewrite, quindi alcuni link sono in php ed altri in html
-
Puoi creare due regole...come dici tu non dovrebbe funzionare di sicuro.
-
il primo non funziona, il secondo si però fa il redirect con qualunque estensione e cartella, quindi firefox mi da il seguente errore
Questa pagina non redireziona in modo corretto
Firefox ha rilevato che il server sta redirezionando la richiesta per questo indirizzo in modo che non possa mai essere completata.
* Questo problema spesso è causato dal blocco o dal rifiuto dei cookie.
-
@Miki92: perché non provi prima di scrivere? se non hai tempo di farlo, evita di scrivere - cos'è, la millesima volta che te lo dico? :|
@ffonline, devi redirigere tutte le pagine tranne quella della manutenzione stessa, altrimenti si forma un ciclo infinito e ti ritrovi con errori vari.
Mettiamo che le tue pagine per la manutenzione siano in /manutenzione/ (pagine, immagini, css: tutto quello che ti serve per la tua pagina temporanea!), redirigi tutto il resto verso quella directory.
Nel file .htaccess della directory principale del sito scrivi:
Codice:
RewriteEngine On
RewriteRule !^manutenzione/.*$ /manutenzione/ [R,L]
dove la regola dice "se l'url non ( ! ) comincia con la directory manutenzione, cambialo in /manutenzione/", ed [R,L] specifica che la regola rappresenta un Redirect, e se viene eseguita è l'ultima ( Last ) da considerare
-
perfetto, grazie a tutti per l'aiuto
-
Salve a tutti,
scusate l'intromissione, ma premettendo che questo script non l'ho mai provato, ti fà il vero e proprio redirect, cioè ti cambia la pagine nell'URL o visitando una pagina che non è in manutenzione di manda la pagina che tu specifichi?
Grazie,
foreach
-
hai dei problemi di terminologia :|
Il "ti cambia le pagine" è solitamente chiamato riscrittura o traduzione dell'url (da cui mod_rewrite), ed è un processo per cui il server applica delle regole e trasforma un indirizzo in un'altro senza avvisare il browser. Questo vuol dire che nella barra degli indirizzi del programma non vedi alcuna differenza.
Il vero e proprio redirect è invece un messaggio che viene inviato al browser ( con codice 30x ) per avvisare che la pagina non è li e la richiesta deve essere rediretta verso un indirizzo diverso. Quando questo avviene, il nuovo indirizzo appare anche nel browser, per avvisare l'utente del cambiamento. A seconda del codice 30x, un redirect può essere temporaneo, permanente, etc.
Normalmente mod_rewrite traduce indirizzi in modo invisibile al browser ed all'utente, ma aggiungendo il parametro R in fondo ad una regola si ottiene un redirect vero e proprio - si può anche usare [R=permanent], [R=temp], [R=302], ...
Il redirect andrebbe usato quando si vuole avvisare l'utente che l'indirizzo cambia. Come in questo caso per la manutenzione, se hai deciso di modificare il tuo sito (e.g. usare la directory /foto/ invece di /immagini/), oppure se preferisci che la gente veda nomesito invece di www.nomesito.
La riscrittura, essendo invisibile, va usata quando l'indirizzo è corretto, ma internamente si vuole utilizzare una struttura diversa per le pagine o le directory ( ^/foto/$ -> /miepagine/foto.html ), oppure il modo in cui vengono gestiti percorsi e parametri delle pagine ( ^/blog/(.*)/$ -> /blog.php?data=$a )
-
Ah, mo ho capito.
Quindi con R cambia anche l'URL nel browser.
Grazie assai,
foreach