0

我想为我的网站设置一个维护页面。

为此,我在运行的第一个脚本 (MY_Controller) 中检查了数据库中的一个字段。如果它正在维护,我想将用户重定向到维护页面。这有效:

redirect("maintenance", 'location');

这是我的问题。我想将标头代码设置为 503,以避免机器人索引维护页面而不是真实页面。但是每当我这样做时:

redirect("maintenance", 'location', 503);

维护页面未加载,网址未更改...

任何想法 ?

提前谢谢!

4

2 回答 2

1

我认为您无法使用 CI 提供的 redirect() 函数设置 503 HTTP 状态。但是你可以设置301代码(临时重定向),这意味着搜索引擎会知道你的页面是临时重定向的,它不会索引维护页面。

更多信息在这里:http ://ellislab.com/codeigniter/user-guide/helpers/url_helper.html

于 2013-11-01T12:53:43.390 回答
1

这是一个老问题,但也许有人偶然发现了这个问题。

我使用redirect()CI 的功能来显示维护页面并尝试使用 503 响应代码,因为这感觉是维护页面的正确方式。

我在 stackoverflow 上找到了一个答案,它可以让您使用 307 代码进行重定向,但它仍然将代码 503 返回到浏览器。

诀窍是在视图文件中的维护页面内容之后设置标题。(不理想,但嘿,它返回 503 代码)

<?php
    header('HTTP/1.1 503 Service Temporarily Unavailable');
    header('Status: 503 Service Temporarily Unavailable');
    header('Retry-After: 3600');
?>
于 2015-10-07T14:05:28.003 回答