Réécrire règle pour les pages « site down »

voix
5

J'ai essayé d'installer ce .htaccess pour informer mes utilisateurs de maintenance du site. Il semble que le premier [L] ne fonctionne pas et la deuxième rewrite fait tout.

Comment les gars faites-vous des messages d'entretien du site?

RewriteEngine on

RewriteRule ^s/down$ index.html [L]
RewriteRule ^(.*)$ http://metaward.com/s/down [R=302,L]
Créé 26/08/2009 à 23:14
source utilisateur
Dans d'autres langues...                            


5 réponses

voix
1

Les RewriteRules que je utilise sur mon site quand je veux le fermer pour l'entretien sont celles-ci:

RewriteCond %{REMOTE_ADDR} !=MY_IP_ADDRESS
RewriteRule    ^$  /down.html  [L]
RewriteCond %{REMOTE_ADDR} !=MY_IP_ADDRESS
RewriteRule    [^/down.html$]  /down.html  [L]

(Peut-être pas tout à fait « optimisé », devrais-je dire ... Mais cela a fonctionné (semblait-il) à chaque fois que je les)

Tout sauf down.html est redirigé vers down.html - sauf pour moi, bien sûr: je veux être en mesure de tester les opérations d'entretien que je fais, évidemment

Et quand je suis fini, je viens de commenter ces quatre lignes.

Créé 26/08/2009 à 23:17
source utilisateur

voix
6

Vous n'avez pas besoin d'une redirection externe. Il suffit d' envoyer le code de 503 état et votre document d'erreur.

RewriteCond %{ENV:REDIRECT_STATUS} !=503
RewriteRule ^(.*)$ /503.html [R=503,L]
ErrorDocument 503 /503.html

Mais vous avez besoin d'Apache 2.x d'utiliser un code de statut différent avec le drapeau R autre que 3xx.

Créé 26/08/2009 à 23:19
source utilisateur

voix
5

Cela semble fonctionner (mais je dois définir le code d'état en PHP)

RewriteEngine on

RewriteCond %{REQUEST_URI} !^/static/.*$
RewriteCond %{REQUEST_URI} !^/media/.*$
RewriteRule .* down.php [L]

et down.php

<?php
header('HTTP/1.1 503 Service Temporarily Unavailable',true,503);
?>

Tout problème avec cela? Mes principales préoccupations sont le voir de ce que l'utilisateur (ce qui est la raison pour laquelle je garde le contenu statique) et ce que les moteurs de recherche voir (le code d'état 503).

Créé 26/08/2009 à 23:34
source utilisateur

voix
0

J'utilise Apache comme proxy pour un rubis sur l'application des rails.

La seule chose que je devais faire était ajouter

ProxyPass /custom-errors !
ErrorDocument 503 /custom-errors/maintenance-message.html

A mon httpd.conf et assurez-vous que: [installation d'Apache] /htdocs/custom-errors/maintenance-message.html existe.

Créé 09/12/2014 à 20:16
source utilisateur

voix
0

Je ne vois personne en utilisant l'en-tête Retry-After. J'ai lu (mais ne pas le lien plus comme je l'ai lu il y a quelque temps) que vous devez utiliser un combo 503 avec un Retry-After n (n = nombre de secondes pour essayer à nouveau en; 3600 est une heure ) entête. Si vous utilisez le 503 et le Retry-After combo, en particulier sur votre robots.txt / plan du site, il ne devrait pas jouer avec des liens et classement de la page pour le référencement si vous ne le laissez pas comme ça depuis longtemps.

Créé 05/05/2015 à 19:06
source utilisateur

Cookies help us deliver our services. By using our services, you agree to our use of cookies. Learn more