Comment configurer une bascule pour un Apache RewriteRule?

J'ai la configuration Apache suivante, qui affiche une erreur 503 Service Unavailable à tous les visiteurs à l'exception de mon adresse IP:

ErrorDocument 503 /503.html RewriteEngine On RewriteCond %{REMOTE_ADDR} !^127.0.0.1$ RewriteCond %{REQUEST_URI} !^/503.html$ RewriteRule .* - [R=503] 

C'est pour pouvoir effectuer une maintenance sur mon site sans erreur pour les users. (J'utilise mon IP réel, pas 127.0.0.1 .)

Cependant, pour éteindre ou éteindre, j'ai besoin de commenter / décommenter toutes les lignes, ou bien l'enlever complètement. Sur mon autre server utilisant nginx, j'ai utilisé une clause géo avec une variable (comme on l'a vu dans cette question ). Je peux donc simplement modifier default de 0 à 1 pour l'allumer.

Existe-t-il un moyen de faire quelque chose de similaire dans Apache?

  • Sous-domaines dynamiques, mod_python et trac
  • Besoin d'aide pour find ce qui ne va pas avec mon .htaccess n'est pas lu
  • Réécrire HOST sans redirection vers le nom d'hôte ré-écrit, est-ce possible?
  • Apache2: 400 Bad Request avec Rewrite Rules, rien dans le journal des erreurs?
  • Renommer url cachant l'extension de file
  • Mod_rewrite pour remplacer tous les points par des caractères de soulignement après le chemin
  • Pourquoi ma règle de réécriture se traduit par "400: mauvaise request"?
  • Réglage de différents en-têtes de caching pour les redirections différentes en utilisant Apache mod_rewrite
  • 3 Solutions collect form web for “Comment configurer une bascule pour un Apache RewriteRule?”

    Si vous ne souhaitez pas redémarrer Apache pour modifier les parameters (ce qui nécessite des modifications dans la configuration) et vous n'utilisez pas .htaccess files .htaccess (ce que vous ne voulez pas, en fait)

    Vous pouvez configurer ce que nous faisons (via notre loadbalancer habituellement), un test pour un état de maintenance, par exemple en ajoutant un test

     RewriteCond ^/maintenance.txt -f 

    où une window de maintenance commence par créer un file maintenance.txt (p. ex. avec touch maintenance.txt ) sur le site autrement en direct.

    Découvrez comment Debian / Ubuntu configure Apache. Ils utilisent des extraits de configuration pour les sites, les modules et la configuration générale stockés dans les files dans /etc/apache2/{mod|sites|conf}-available qui est symésortingque dans /etc/apache2/{mod|sites|conf}-enabled pour l'activer . Ces directorys peuvent être Include dans le file de configuration principal. De plus, ils ont les commands a2Xen et a2Xdis qui créent simplement le lien symbolique ou le suppriment pour une maintenance facile.

    La réponse de HBruijn est la meilleure, mais voici une autre option que je viens de découvrir:

     RewriteCond 1 0 

    Ensuite, le 0 peut être changé en 1 pour le basculer.

    Les astuces du serveur de linux et windows, tels que ubuntu, centos, apache, nginx, debian et des sujets de réseau.