Accueil » Blog » Réponse serveur 503 : service temporairement indisponible – par IP
Bout de code - PHP, XHTML, Javascript, htaccess

Réponse serveur 503 : service temporairement indisponible – par IP

publié le 10 juin dans Bout de code - 6 commentaires

Ouverture d’une nouvelle rubrique à des fins personnelles, dans le but d’avoir une place centrale pour tous les « bouts de code » qui me servent de temps à autre, que je stocke en général dans des fichiers txt sur plusieurs PC, et que je ne retrouve donc jamais.

Réponse / en-tête serveur 503 Service Temporairement Indisponible (503 Service Temporarily Unavailable)

Code préconisé par les moteurs afin de les prévenir que votre site est indisponible, mais que vous êtes au courant et que c’est temporaire.

Quand je veux faire des changements importants sur un site, sans passer par un serveur de dev, c’est la méthode que j’utilise : ajout de mon adresse IP au fichier .htaccess et redirection vers une page PHP qui revoit la réponse 503 Service Temporarily Unavailable.

Fichier .htaccess

Options +FollowSymLinks
RewriteEngine On
RewriteBase /

RewriteCond %{REMOTE_HOST} !^00\.00\.00\.00
RewriteCond %{REQUEST_URI} !^/503\.php [NC]
RewriteRule .* /503.php
  • les 3 premières lignes activent votre mod_rewrite ;
  • la quatrième est celle pour votre adresse IP (trouvez la sur what’s my ip) afin de filtrer toutes les autres (en utilisant le point d’exclamation au début) ;
  • la cinquième assure que si le fichier demandé est celui qui renvoie la réponse de serveur 503, la redirection n’intervient pas (évite de se retrouver dans une boucle / loop) ;
  • la dernière, est le nom du fichier PHP qui renverra le message d’en-tête.

Fichier 503.php

Copiez simplement le code suivant au début d’un document HTML où figure votre message indiquant que le service est temporairement indisponible.

<?php 
header('HTTP/1.1 503 Service Temporarily Unavailable');
header('Status: 503 Service Temporarily Unavailable');
header('Retry-After: 86400');
?>

Seule la dernière ligne nécessite une explication: 86400 est le délai (en secondes) après lequel vous pensez avoir résolu le problème ou mis en place vos changements (ici 24h).

Abonnez-vous au blog

  • Envoyer
  • Digg
  • Del.icio.us
  • Stumble Upon
  • Facebook

{ 6 commentaires… lisez-les ci-dessous ou ajoutez-en un }

Philippe @ HTML5 Débloque-notes juin 10, 2010 à 12:20

« Des  » bouts de code  » qui me servent de temps à autre, que je stocke en général dans des fichiers txt sur plusieurs PC, et que je ne retrouve donc jamais. »
Pareil chez moi. C’était pour cette idée même que j’avais ouvert mon bleug en me disant que ça allait me resservir sans penser au départ que ça allait aussi servir aux autres. Partageons donc, c’est très bien ainsi.

Répondre

propulsr juin 10, 2010 à 13:17

Oui j’en ai une petite dizaine sous le coude (et j’ai simplement nettoyé les « bureaux »)

Répondre

altruiste juin 10, 2010 à 14:12

Super pratique en effet pour pour faire quelques simples modifs sans passer par un deuxieme serveur. Merci de partager, je vais pas créer un blog pour le noter à mon tour :) mais je garde ta page en favoris.

Puisqu’on aborde le sujet, je ne suis pas personnellement professionnel dans le domaine, mais je me suis toujours demandé comment on fait pour faire de grosses modifs en utilisant un serveur de dev sans pour autant interrompre le site original (en continuant a vendre par exemple pour un site ecommerce) tout en gardant les bases de données synchronisée pour qu’au moment de la mise en place de la nouvelle version tout soit parfaitement transparent pour le visiteur. Si vous avez des infos je suis preneur…

Répondre

propulsr juin 11, 2010 à 09:29

Bon je suis pas un pro ecommerce ou db, mais si tu n’apportes pas de modif de structure à ta base, je dirais :
– soit utiliser la même (en permettant une connexion depuis ton serveur de dev);
– soit faire une copie régulière en utilisant SSH/SQL par exemple.

Un pro pourra surement nous en dire plus.

Répondre

annuaire novembre 30, 2010 à 15:53

Merci pour l’info, je ne connaissais pas du tout cette possibilité de rendre indosponible temporairement par IP. Celà peux être intéressant de la cas de mises en production.
Merci

Répondre

Eva février 6, 2013 à 15:26

Merci pour ces lignes de codes bien pratiques. Je vais pouvoir impressionner mon boss !
Eva

Répondre

Laisser un commentaire