Mediawiki(1.26)-如何从Page中访问404 HTTP状态

时间:2019-03-08 10:17:27

标签: php http-status-code-404 mediawiki

当调用不存在的Wiki页面时,mediaWiki会在标头中使用404。

是否有一种方法可以从自己的页面中捕获(出于日志记录的原因)?

有一个

public function getStatusCode()

在WebResponse.php和HttpError.php中

和在OutputPage.php中,例如有一个

public function setStatusCode( $statusCode )

在MonoBookTemplate.php中,我有一个MonoBookTemplate的实例。

但是如何从这个地方获取404状态?

我了解了$context->getOutput(),但不知道如何访问状态变量。


部分解决方案:

作为一种解决方法,我在$wgMyStatusCode中添加了LocalSettings.php 并在WebResponse.php中:

public function statusHeader( $code ) {
    HttpStatus::header( $code );

    //added
    global $wgMyStatusCode;
    $wgMyStatusCode = $code;
}

无论如何-如果有人能让我介绍一下MediaWiki中面向对象的秘密-谢谢。

1 个答案:

答案 0 :(得分:0)

!RequestContext::getTitle()->exists()

可能足够近了。