我们正在尝试在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状态代码的想法一无所知。任何变通办法表示赞赏!