扩展:重定向302
Appearance
此扩展存储其源代码在某個可編輯的wiki页面上、而不是在代码存储库之內。 此結果造成,此代码有可能被恶意修改。 它可能存在安全性漏洞,且不會收到來自translatewiki.net的本地化更新。 強烈建議開發者將程式碼存放於程式碼儲存庫,而非維基頁面,如此方能妥善維護、審查擴充功能並確保其安全性。 |
此扩展目前不再積極维护! 尽管它可能仍然工作,但任何错误报告或功能请求将很可能被忽略。 |
发行状态: 不再維護 |
|
|---|---|
| 实现 | 函数钩 |
| 描述 | 添加一个钩子以创建302样式重定向 |
| 作者 | Joshua Gay (Joshuagay留言) |
| 最新版本 | 0.2 (2012-11-07) |
| MediaWiki | 1.17+ |
| 数据库更改 | 否 |
| 许可协议 | GNU通用公眾授權條款2.0或更新版本 |
| 下載 | see below |
| 示例 | The Free Software Directory |
重定向302扩展更改了重定向钩子,以便发出http 302错误,并在客户端完成重定向。
安裝
- 将代码复制到文件文件,并将其放置在您
extensions/文件夹中的Redirect302目录内。 - 請新增下列代码到您的LocalSettings.php文件的底部:
require_once "$IP/extensions/Redirect302/Redirect302.php";
完成 – 請导航至您的wiki上的Special:Version,以验证此扩展已成功安装。
代码
Redirect302.php
<?php
/**
* 此扩展更改了重定向钩子,以便发出http 302错误,并在客户端完成重定向。
*
* @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
/**
* 重定向302扩展的国际化文件。
*
* @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
/** Chinese (中文)
* @author ?
*/
$messages['zh'] = array(
'redirect302-desc' => '添加一个钩子以创建302样式重定向',
);
