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.

  • Serveur Web Apache avec le module mod_rewrite
  • RewriteEngineOn est-il utilisé une seule fois dans httpd.conf ou peut-il être utilisé plusieurs fois?
  • Apache peut-il être fait pour ne pas envoyer de réponses à des requests spécifiques?
  • Comment bloquer toutes les visites proxy requirejses, sauf à partir d'une adresse IP spécifique?
  • Dans Apache, le file .htaccess remplace le httpd.conf pour mod_rewrites?
  • Comment redéployer de nombreuses redirections dans htaccess?
  • Precedence de RewriteRules dans le file .htaccess sur Apache Server
  • .htaccess envoie des requêtes à l'index.php d'un sous-dossier
  • Les astuces du serveur de linux et windows, tels que ubuntu, centos, apache, nginx, debian et des sujets de rĂ©seau.