Jump to content

Extension:Redirect302

From mediawiki.org
This page is a translated version of the page Extension:Redirect302 and the translation is 44% complete.
MediaWiki 拡張機能マニュアル
Redirect302
リリースの状態: 保守されていない
実装 フック
説明 Adds a hook to create 302 style redirects
作者 Joshua Gay (Joshuagayトーク)
最新バージョン 0.2 (2012-11-07)
MediaWiki 1.17+
データベースの変更 いいえ
ライセンス GNU 一般公衆利用許諾書 2.0 以降
ダウンロード see below
The Free Software Directory

The Redirect302 extension changes the redirect hook so that an http 302 error is issued and the redirect is done on the client side.

インストール

  • Copy the code into filesして、ファイルをextensions/フォルダー内のRedirect302という名前のディレクトリ内に配置します。
  • 以下のコードを LocalSettings.php ファイルの末尾に追加します:
    require_once "$IP/extensions/Redirect302/Redirect302.php";
    
  • Yes 完了 – ウィキの「Special:Version」に移動して、拡張機能が正しくインストールされたことを確認します。

コード

Redirect302.php

<?php

/**
 * This extension changes the redirect hook so that an http 302 error is issued and the redirect is done on the client side.
 *
 * @file
 * @ingroup Extensions
 * license: GPL-2.0-or-later
 */

if ( !defined( 'MEDIAWIKI' ) ) die();

// credits
define('Redirect302_VERSION', '0.2' );
$wgExtensionCredits['other'][] = array(
         'path' => __FILE__,
         'name' => 'Redirect302',
         'version' => Redirect302_VERSION,
         'author' => array( 'Joshua Gay' ),
         'url' => 'https://www.mediawiki.org/wiki/Extension:Redirect302',
         'descriptionmsg' => 'redirect302-desc',
);

// messages i18n
$dir = dirname(__FILE__) . '/';
$wgExtensionMessagesFiles['Redirect302'] = $dir . 'Redirect302.i18n.php';

// Register hook
$wgHooks['InitializeArticleMaybeRedirect'][] = 'redirect302_hook';

// Redirect with 302
function redirect302_hook($title, $request, &$ignoreRedirect, &$target, &$article) {
  if (!$ignoreRedirect && $article->isRedirect()) {
    if(($target = $article->followRedirect()) instanceof Title) {
      $target = $target->getFullURL();
    }
  }
  return true;
}

Redirect302.i18n.php

<?php
/**
 * Internationalisation file for extension Redirect302.
 *
 * @file
 * @ingroup Extensions
 */

$messages = array();
 
/** English
 * @author Joshua Gay
 */
$messages['en'] = array(
         'redirect302-desc' => 'Adds a hook to create 302 style redirects',
);

/** German (Deutsch)
 * @author Kghbln
 */
$messages['de'] = array(
         'redirect302-desc' => 'Ermöglicht Umleitungen mit HTTP-Statuscode 302',
);

On-wiki translation

/** Japanese (日本語)
 * @author ?
 */
$messages['ja'] = array(
         'redirect302-desc' => 'HTTP 302 スタイルのリダイレクトを作成するフックを追加する',
);