Pagina statica per website in manutenzione

Buonasera a tutto il forum!

Recentemente sto avendo maggior tempo a disposizione da poter dedicare al mio sito web scritto ovviamente in php.

Ho riscontrato, di conseguenza, la necessità di "ammodernare", in un certo senso, il mio sito.

Così mi torna utile ora creare un redirect di TUTTE le pagine presenti sul mio sito ad una statica in html o comunque php, che funge da classica videata: "sito web in manutenzione"

Leggendo in giro per la net ho trovato dei tutorial che spiegano come rendere inaccessibile ogni singola pagina del sito appoggiandosi su un file .htaccess avente il seguente codice:

RewriteEngine On
 
RewriteCond %{REMOTE_ADDR} !192.168.1.100
RewriteCond %{REMOTE_ADDR} !192.168.1.101
 
RewriteRule ^(.*)$ offline.html [QSA,L]

Tuttavia vorrei cercare di evitare questa soluzione dato che utilizzo già un file .htaccess per il rewrite degli url e, non essendo un grande esperto di mod rewrite, e masticando meglio php, preferirei qualcos'altro.

Attendo consigli dai piu' esperti nel settore  ;)

 :bye:

inviato 7 anni fa
Newbie
X 0 X

up

risposto 7 anni fa
Newbie
X 0 X

nulla ragazzi? :(

risposto 7 anni fa
Newbie
X 0 X

Dovevi pensarci prima!

Scherzo!

prima di tutto: [OT] è tantissimo che manco da qua![/OT]

Ora veniamo alla soluzione:

non so come hai strutturato il sito, ma se l'intestazione delle pagine è un file esterno per tutte puoi inserire in quel file un include/require ad un altro file esterno che controlla l'esistenza di una specifica pagina/file/flag ed in caso positivo fa un reindirizzamento alla pagina di manutenzione.

Non so se mi sono spiegato!

Se l'intestazione invece è scritta in ogni pagina, dovresti mettere l'include/require in ogni pagina.

Personalmente strutturo i siti come minimo in 3 parti: intestazione e piede che sono statiche poi il corpo centrale che è variabile (ed eventuali menù).

In questo modo se devo aggiungere degli ulteriori controlli basta che modifico il file dell'intestazione e funziona per tutte le pagine.

risposto 7 anni fa
LonelyWolf
X 0 X

Dovevi pensarci prima!

Scherzo!

prima di tutto: [OT] è tantissimo che manco da qua![/OT]

Ora veniamo alla soluzione:

non so come hai strutturato il sito, ma se l'intestazione delle pagine è un file esterno per tutte puoi inserire in quel file un include/require ad un altro file esterno che controlla l'esistenza di una specifica pagina/file/flag ed in caso positivo fa un reindirizzamento alla pagina di manutenzione.

Non so se mi sono spiegato!

Se l'intestazione invece è scritta in ogni pagina, dovresti mettere l'include/require in ogni pagina.

Personalmente strutturo i siti come minimo in 3 parti: intestazione e piede che sono statiche poi il corpo centrale che è variabile (ed eventuali menù).

In questo modo se devo aggiungere degli ulteriori controlli basta che modifico il file dell'intestazione e funziona per tutte le pagine.

Potrebbe essere una soluzione, ma in questo caso quando io amministratore vorrei accedere alle pagine dovrei eliminare l'include alla pagina di manutenzione, e sarebbe piuttosto 'stressante' farlo ogni volta dato che la manutenzione si spezza in piu' momenti della giornata, della settimana...

risposto 7 anni fa
Newbie
X 0 X

Rimangio ciò che ho appena detto  8)

Effettivamente se posiziono l'include all'interno di un file che viene richiamato ogni volta in ciascuna pagina, a questo punto è proprio nella pagina di manutenzione che potrei incorporarci un piccolo javascript che onclick mi mostra un form di login all'amministrazione  :)

Credo che sia una possibile soluzione,

grazie per il suggerimento  ;)

risposto 7 anni fa
Newbie
X 0 X

Ma l'intestazione delle pagine di un "pannello di controllo"/amministrazione non può essere la stessa delle pagine visibili a tutti gli utenti, anche perchè un utente normale non deve accedere a quelle pagine e, normalmente, in quelle pagine si fa un controllo su una login che può essere sessione o cookie (o quello che preferisci).

risposto 7 anni fa
LonelyWolf
X 0 X

Sconsiglio il form nella pagina di manutenzione è una soluzione che non mi piace!

Meglio se strutturi tutto nell'intestazione delle pagine, molto più efficace.

risposto 7 anni fa
LonelyWolf
X 0 X
Ma l'intestazione delle pagine di un "pannello di controllo"/amministrazione non può essere la stessa delle pagine visibili a tutti gli utenti, anche perchè un utente normale non deve accedere a quelle pagine e, normalmente, in quelle pagine si fa un controllo su una login che può essere sessione o cookie (o quello che preferisci).

Infatti il controllo avviene sulla sessione dopo l'inserimento dei dati corretti in un login.

La funzione del controllo sessione e quella della validazione dati è in un file che viene incluso in tutte le pagine, quindi è facilmente richiamabile.

Inoltre l'intestazione è uguale per tutti. Cio' che non è visibile agli utenti è il pannello di amministrazione che valida la sessione di amministratore, in caso contrario mostra un form di login.

Questa è la situazione,

ad ogni modo effettivamente un login in una pagina di manutenzione sarebbe un pò troppo 'esposto'...  :-\

risposto 7 anni fa
Newbie
X 0 X

Allora buttalo lì l'include per la pagina di manutenzione, se viene incluso in ogni pagina sei a posto!

risposto 7 anni fa
LonelyWolf
X 0 X
Allora buttalo lì l'include per la pagina di manutenzione, se viene incluso in ogni pagina sei a posto!

 ;)

Ora lo piazzo :P

Grazie ad ogni modo per il suggerimento, non ci avevo proprio pensato, iniziavo a perdere le speranze   ::)

 :bye:

risposto 7 anni fa
Newbie
X 0 X
Effettua l'accesso o registrati per rispondere a questa domanda