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?

  • Configuration Apache - règle de réécriture pour tous les hôtes virtuels
  • Comment empêchez-vous à mod_rewrite de décoder une string dans le path?
  • Apache réécrit plusieurs conditions
  • Forcer SSL avec mod_rewrite
  • Cherokee port réécrit les URL de .htaccess
  • Quel est l'équivalent nginx de cette règle mod_rewrite?
  • Avec Apache, réécrire le trafic vers un dossier et encore redirect tout le trafic de ce dossier
  • Comment configurer un mod_rewrite de base?
  • 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.