Extension:Redirect302
この拡張機能ウィキページは、拡張機能のソースコードを含んでいます。 このコードが未検証であったり不正に変更されていたりするおそれがあることにご注意ください。 セキュリティ ホール、もう互換性がなく古くなったインターフェイス、などを含んでいるおそれがあります。 注記: translatewiki.net は、この拡張機能の地域化 (ローカライズ) の更新を提供しません。 |
現在、この拡張機能は積極的な保守が行われていません! それでも機能する可能性はありますが、バグ報告や機能の要望は無視される可能性が高くなります。 |
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";
- 完了 – ウィキの「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 スタイルのリダイレクトを作成するフックを追加する',
);