老张小站

  1. 欢迎光临

    感谢访问老张的博客!

  • 1
1,211

Discuz! X3 关闭站点时返回503状态码的方法

分类 网站技术/村民张先生 发布于 2020-02-19 17:04
3

默认情况下,后台设置“关闭站点”时,前台页面返回200状态码。可按以下说明返回503状态码,并返回一个 Retry-After 时间,告诉搜索引擎多长时间后重试。

打开 source/class/discuz/discuz_application.php 文件,查找:

					showmessage($closedreason ? $closedreason : 'board_closed', NULL, array('adminemail' => $this->var['setting']['adminemail']), array('login' => 1));

在其前方增加:

					header('HTTP/1.1 503 Service Temporarily Unavailable');
					header('Status: 503 Service Temporarily Unavailable');
					header('Retry-After:10800'); //通知搜索引擎3小时后重试

其中 Retry-After 时间可自行修改,单位秒。

另外,如果需要在关闭站点时允许部分模块访问,可修改以下代码处,增加例外条件:

			} elseif(in_array(CURSCRIPT, array('admin', 'member', 'api')) || defined('ALLOWGUEST') && ALLOWGUEST) {
欢迎转载分享,转载请注明 来源:大张小站 https://www.zhang.cq.cn/20202305.html
若您喜欢这篇文章,欢迎订阅老张小站以获得最新内容。 / 欢迎交流探讨,请发电子邮件至 mail[at]vdazhang.com 。


已经有 3 条群众意见

  1. solfie /2020-06-08 21:30

    测试好像会导致整个网站页面空白。 回应

    #1
  2. solfie /2020-06-13 18:27

    这个hack会导致小黑屋翻页失效,请订正。 回应

    #2
  3. 村民张先生solfie/2020-08-11 19:17

    与以上修改无关。 回应

    #3

欢迎谈谈你的看法(无须登录) *正文中请勿包含"http://"否则将被拦截