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?

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.

  • Comment l'indice '' 'n'arrive-t-il pas à correspondre à cette règle de réécriture?
  • Apache2, désactivez la réinitialisation dans le directory letsencrypt pour tous les vhosts
  • Le server se souvient des anciennes règles de réécriture, même si je supprime l'htaccess
  • La règle de réécriture / redirection élogieuse se produisant pour Apache2, ne peut-on pas find n'importe où?
  • sous-domaine de curing d'apache point dans le directory?
  • Besoin de lier WP Blog avec Rails sur Heroku
  • Migration d'Apache 2.0 vers 2.2
  • Réécrire les URL lors de l'utilisation de mod_proxy_fcgi et PATH_INFO se termine par une erreur 404
  • Index.php téléchargements au lieu d'ouvrir
  • Comment redirect deux domaines, avec / sans https, vers un site https?
  • Des milliers de requêtes avec des domaines inexistants comme HTTP_REFERER
  • Les astuces du serveur de linux et windows, tels que ubuntu, centos, apache, nginx, debian et des sujets de rĂ©seau.