我想为我的网站设置一个维护页面。
为此,我在运行的第一个脚本 (MY_Controller) 中检查了数据库中的一个字段。如果它正在进行维护,我想将用户重定向到维护页面。这有效:
redirect("maintenance", 'location');
这是我的问题。我想将 header 代码设置为 503,以避免机器人索引维护页面而不是真实页面。但每当我这样做时:
redirect("maintenance", 'location', 503);
维护页面未加载,URL 未更改。
最佳答案
我使用 CI 的 redirect()
函数来显示维护页面,并尝试使用 503 响应代码,因为这感觉是维护页面的正确方法。
我在 stackoverflow 上找到了一个答案,它让您使用 307 代码重定向,但它仍然向浏览器返回代码 503。
The trick就是在 View 文件中维护页面内容后面设置headers。 (不理想,但嘿,它返回 503 代码)
<?php
header('HTTP/1.1 503 Service Temporarily Unavailable');
header('Status: 503 Service Temporarily Unavailable');
header('Retry-After: 3600');
?>
关于CodeIgniter 重定向 503,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19726850/