Я хотел бы на некоторое время отключить все виртуальные хосты на моем сервере для обслуживания.
Временная страница должна содержать что-то вроде
извините, страница www.xxx.com не работает. вы можете увидеть кешированную версию здесь:
Тогда фокус: затем пользователь должен увидеть кешированную страницу из кеша, такого как googlecache или аналогичный для запрошенной страницы, пока сервер не работает.
Это покажет правильный контент на страницах, которые в любом случае статичны, и во многих случаях предоставит посетителю необходимый контент, в то время как я могу закрыть mysql и другие службы, которые обычно необходимы для отображения этих страниц.
Как я могу установить глобальную страницу на всех виртуальных хостах, которая анализирует исходный запрошенный URL через PHP?
Решение с javascript:
создать страницу под названием
offline.html
HTTP/1.0 200
Content-Type: text/html; charset=utf-8
<html><body>
sorry, the site is currently down for maintenance.<br>
<SCRIPT>
document.write('<iframe src="http://webcache.googleusercontent.com/search?q=cache:'
+location.href
+'" style="width:100%;height:95%"></iframe>');
</SCRIPT></body></html>
и настроить временный сервер с
$ apt-get install ucspi-tcp
$ tcpserver 0.0.0.0 80 sh -c 'awk "/^\r*$/ { exit }"; cat offline.html'
но похоже, что Google не разрешает такую ссылку в iframe, поэтому потребуется другой кеш.
источники: