Jump to content
MediaWiki

Extension:Redirect302

From mediawiki.org
This page is a translated version of the page Extension:Redirect302 and the translation is 44% complete.
この拡張機能は、保守されたコード リポジトリではなく、編集可能なウィキ ページにソース コードを保存しています。 その結果、このコードが悪意をもって改ざんされているおそれがあります。
この拡張機能にはセキュリティ上の脆弱性が含まれているおそれがあり、translatewiki.net からの地域化 (ローカライズ) の更新は提供されません。 拡張機能を適切に保守し、レビューし、安全を確保するために、コードはウィキ ページではなくコード リポジトリでホストすることが、開発者には強く推奨されます。

現在、この拡張機能は積極的な保守が行われていません! それでも機能する可能性はありますが、バグ報告や機能の要望は無視される可能性が高くなります。

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 スタイルのリダイレクトを作成するフックを追加する',
);

AltStyle によって変換されたページ (->オリジナル) /