扩展:重定向302
此扩展在wiki页面上存储其源代码。 请注意此代码可能未审核,或被恶意修改。 其可能包含安全漏洞,不再兼容的过时界面等等。 注意: translatewiki.net 不提供此扩展的本地化更新。 |
此扩展目前不再活跃维护! 尽管它可能仍然工作,但任何错误报告或功能请求将很可能被忽略。 |
Redirect302 发行状态: 不再維護 |
|
---|---|
实现 | 函数钩 |
描述 | 添加一个钩子以创建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样式重定向',
);