2012-05-16 9 views
16

Sto per aggiornare il mio intero sito. Sto cercando consigli su come le startup tecnologiche fanno il loro processo di manutenzione.In che modo i grandi siti pubblicano una pagina di avviso di manutenzione?

Sto pensando di usare htaccess. Tuttavia, solo reindirizzare gli utenti che accedono, ad esempio, index.php a maintenance.php, giusto? Se l'utente accede a dashboard.php, non ci sarà alcun reindirizzamento.

Durante la manutenzione, devo accedere a index.php (SOLO PER ME). Chiunque abbia lavorato nelle startup tecnologiche ha cura di condividere la propria soluzione? Apprezzato molto.

+2

htaccess può reindirizzare TUTTE LE RICHIESTE a maintenance.php – Aziz

+13

Stavo per dare la soluzione ma non lavoro per l'avvio. – webbiedave

+5

@Slay Dovresti modificare la tua domanda per chiedere come si può mettere un sito in modalità di manutenzione, mentre si riserva l'accesso ai dipendenti, usando PHP/.htaccess. Concentrati solo sugli aspetti tecnici, tralasciando le domande sugli startup, ecc. – Sampson

risposta

3

Usiamo LightTPD come server web e sto usando "mod_magnet" per fare queste cose. Mod_magnet mi consente di gestire le richieste utilizzando semplici script lua. Abbiamo un'attività automatica, che creerà un file vuoto da qualche parte nel filesystem del server web. Lo script lua verificherà l'esistenza di questo file su ogni richiesta e restituirà una pagina di manutenzione statica, se il file viene trovato. La parte importante dello script è simile al seguente:

-- 
-- maintenance page 
-- 
local config = { 
    ['maintenance'] = { 
     ['allow'] = { 
      '127.0.0.1' -- just an example IP address 
     } 
    } 
} 

if lighty.stat(lighty.env['physical.doc-root'] .. 'maintenance') then 
    tmp, _ = table.search(config.maintenance.allow, lighty.env['request.remote-ip']) 
    if not tmp then 
     -- maintenance modus 
     lighty.content = { 
      { filename = lighty.env['physical.doc-root'] .. 'error/maintenance.html' } 
     } 

     return 503 
    end 
end 

Nello script c'è anche una configurazione di lasciare ancora specifici indirizzi IP attraverso, in modo da poter continuare a visualizzare il sito web per esempio dalla rete aziendale, quando tutti gli altri solo ottenere la pagina di manutenzione.

Questa soluzione funziona molto bene e, a causa dell'automazione, non importa se è necessaria la pagina di manutenzione su uno o più server Web.

Se siete interessati, è possibile trovare maggiori informazioni per quanto riguarda "mod_magnet" qui:

http://redmine.lighttpd.net/projects/lighttpd/wiki/Docs:ModMagnet

1

Dal momento che si parla di .htaccess sto supponendo che si sta utilizzando Apache come server web. Come altri hanno menzionato puoi usare .htaccess o puoi modificare il VirtualHost conf per quel sito specifico.

In entrambi i casi si consiglia di utilizzare mod_rewrite come raccomandato da Jonathon Sampson, tuttavia, si vuole essere molto cauti nell'assicurarsi di inviare anche i codici di stato corretti perché bot importanti come GoogleBot vogliono vedere un 503 che dice loro che sei attualmente in manutenzione.

Ci sono alcune istruzioni abbastanza chiare per fare esattamente quello che vuoi in this AskApache article.

Problemi correlati