Я рекомендовал примерить свободных распределенных систем управления версиями. Большинство из них очень легко установить на Вашем персональном ПК и идти с хорошей документацией. Вот мои фавориты 1. Базар 2. Подвижные 3. Мерзавец (только для *отклоняют базирующиеся системы насколько я знаю)
Видит список здесь:
http://en.wikipedia.org/wiki/List_of_revision_control_software
Кажется, это работает (но мне нужно установите код состояния в PHP)
RewriteEngine on
RewriteCond %{REQUEST_URI} !^/static/.*$
RewriteCond %{REQUEST_URI} !^/media/.*$
RewriteRule .* down.php [L]
и в down.php
<?php
header('HTTP/1.1 503 Service Temporarily Unavailable',true,503);
?>
Есть проблемы с этим? Меня больше всего беспокоит то, что видит пользователь (поэтому я сохраняю статический контент) и что видят поисковые системы (код статуса 503).
Вам не нужно внешнее перенаправление. Просто отправьте код состояния 503 и документ об ошибке.
RewriteCond %{ENV:REDIRECT_STATUS} !=503
RewriteRule ^(.*)$ /503.html [R=503,L]
ErrorDocument 503 /503.html
Но вам нужен Apache 2.x, чтобы использовать другой код состояния с флагом R, отличный от 3xx.
Правила RewriteRules, которые я использую на своем веб-сайте, когда я хочу закрыть его для обслуживания, следующие:
RewriteCond %{REMOTE_ADDR} !=MY_IP_ADDRESS
RewriteRule ^$ /down.html [L]
RewriteCond %{REMOTE_ADDR} !=MY_IP_ADDRESS
RewriteRule [^/down.html$] /down.html [L]
(Может быть, не совсем «оптимизированы», я бы сказал ... Но он работал (или так казалось) каждый раз, когда я их использовал)
Все, кроме down.html, перенаправляется на down.html - кроме меня, конечно: я хочу иметь возможность тестировать операции обслуживания, которые я делает, очевидно
И когда я закончу, я просто прокомментирую эти четыре строки.