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?

  • Alias ​​un directory virtuel ou une application comme Root sur IIS 7
  • htaccess: Supprimez l'extension PHP uniquement pour les files ou dossiers spécifiques
  • Statut Forward Apache 500 à 404
  • apache mod_rewrite help: écrit une exception à une règle de réécriture
  • Réécriture d'URL Apache dans proxy inverse
  • RewriteRule n'a aucun effet sur Apache / mod_php
  • apache mod_rewrite échoue quand un file portant le même nom existe
  • Reverse Proxy (mod_rewrite) et Rails (paths absolus)
  • 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.