codeigniter 代码点火器重定向503

vc6uscn9  于 2022-12-07  发布在  其他
关注(0)|答案(2)|浏览(132)

我想为我的网站设置一个维护页面。
为此,我在运行的第一个脚本(MY_Controller)中检查DB中的一个字段。如果它处于维护状态,我希望将用户重定向到维护页面。这可以工作:

redirect("maintenance", 'location');

这里是我的问题。我想设置标题代码为503,以避免机器人索引维护页的地方,真实的的一个。但每当我这样做:

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

维护页面不会加载,URL不会更改。

xfyts7mz

xfyts7mz1#

我使用CI中的redirect()函数来显示维护页面,并尝试使用503响应代码,因为这是维护页面的正确方式。
我在stackoverflow上找到了一个答案,它可以让你用307代码重定向,但它仍然会向浏览器返回503代码。
The trick是在视图文件中的维护页面内容之后设置标题。(不是很理想,但是嘿,它返回503代码)

<?php
    header('HTTP/1.1 503 Service Temporarily Unavailable');
    header('Status: 503 Service Temporarily Unavailable');
    header('Retry-After: 3600');
?>
xu3bshqb

xu3bshqb2#

我认为你不能使用CI提供的redirect()函数设置503 HTTP Status,但是你可以设置301代码(临时重定向),这意味着搜索引擎会知道你的页面被临时重定向,它不会索引维护页面。
更多信息,请访问:http://ellislab.com/codeigniter/user-guide/helpers/url_helper.html

相关问题