Мы пытаемся настроить простую страницу обслуживания в Google App Engine.
Создать страницу легко, но мы не можем найти способ вернуть ее с кодом ответа 503, чтобы избежать проблем с поисковыми роботами.
Попытка 1: добавить заголовки в PHP
Мы попытались создать страницу обслуживания на PHP и добавить заголовки вверху страницы:
<?php
header('HTTP/1.1 503 Service Temporarily Unavailable');
header('Status: 503 Service Temporarily Unavailable');
header('Retry-After: 300');
?>
Однако Google App Engine, похоже, видит, что наша служба возвращает код 503, и рассматривает это как внутреннюю ошибку.
Пользователи в конечном итоге видят неустановленную страницу с кодом 500, на котором показано:
Error: Server Error
The server encountered an error and could not complete your request.
Please try again in 30 seconds.
Попытка 2: добавить заголовки на статическую страницу в app.yaml
Мы попытались создать страницу обслуживания в виде простого файла HTML и добавить заголовки в app.yaml:
handlers:
- url: .*
static_files: index.html
upload: index.html
secure: always
http_headers:
Status: 503 Service Temporarily Unavailable
Retry-After: 300
В этом случае заголовки возвращаются . К сожалению, заголовок status
устанавливается дважды - сначала до 200, а затем до 503. Код состояния 200 возвращается пользователю.
У меня нет идей о том, как достичь нашей цели - показать страницу обслуживания и вернуть код состояния 503. Любые обходные пути приветствуются!