X-Git-Url: https://git.heureux-cyclage.org/?a=blobdiff_plain;f=includes%2FMediaWiki.php;h=f91477af2e2b31633e143710d94af3c4800875f5;hb=1e2cce13eae6d97b312be2e96a70a443a79c4465;hp=69f23c1d13f7b1def3e186bf91fec5b738415eb9;hpb=629bb43871ba3b8afb12be9c484d93c44898610e;p=lhc%2Fweb%2Fwiklou.git diff --git a/includes/MediaWiki.php b/includes/MediaWiki.php index 69f23c1d13..f91477af2e 100644 --- a/includes/MediaWiki.php +++ b/includes/MediaWiki.php @@ -260,8 +260,16 @@ class MediaWiki { ) { list( , $subpage ) = $spFactory->resolveAlias( $title->getDBkey() ); $target = $specialPage->getRedirect( $subpage ); - // target can also be true. We let that case fall through to normal processing. + // Target can also be true. We let that case fall through to normal processing. if ( $target instanceof Title ) { + if ( $target->isExternal() ) { + // Handle interwiki redirects + $target = SpecialPage::getTitleFor( + 'GoToInterwiki', + 'force/' . $target->getPrefixedDBkey() + ); + } + $query = $specialPage->getRedirectQuery( $subpage ) ?: []; $request = new DerivativeRequest( $this->context->getRequest(), $query ); $request->setRequestURL( $this->context->getRequest()->getRequestURL() ); @@ -737,7 +745,7 @@ class MediaWiki { Profiler::instance()->logDataPageOutputOnly(); } catch ( Exception $e ) { // An error may already have been shown in run(), so just log it to be safe - MWExceptionHandler::rollbackMasterChangesAndLog( $e ); + MWExceptionHandler::logException( $e ); } // Disable WebResponse setters for post-send processing (T191537).