2011/4/6 Dorem - Jérémie Bouillon <[email protected]>
> On 07/04/2011 02:07, Brion Vibber wrote:
> > I think the best way to do this would be to whip up an extension using
> the
> > 'GetLocalURL' hook to change the URLs that MediaWiki outputs when they
> look
> > clean (no extra query params etc).
>
> I think I understand the theory, what you mean.
>
> > For general info on extensions& writing them see:
> > http://www.mediawiki.org/wiki/Manual:Extensions and
> > http://www.mediawiki.org/wiki/Manual:Developing_extensions -- a simple
> > extension can just be one function so it's not too intimidating really.
> :)
>
> You haven't see what I can write with PHP... it's both intimidating and
> I'll probably add numerous security holes everywhere :p
>
hehehehe :D Luckily it really is not much code, lemme whip up an example...
You could add this to your LocalSettings.php:
$wgHooks['GetLocalURL'][] = 'efMyCustomLinks';
function efMyCustomLinks( $title, &$url, $query ) {
if (!$query && $title->getNamespace() == NS_PROJECT) {
// Rewrite clean links to pages in this namespace
// Needs mod_rewrite rules or something to match!
$url = '/proj/' . wfUrlEncode( $title->getDBKey() );
}
return true;
}
The main things you want to customize here are which namespace id key it
compares against (the numeric key, so whatever you're adding to
$wgExtraNamespaces or one of the standard namespace name constants like
NS_USER, NS_TALK etc) and of course the actual output path.
In the Apache rewrite rules, don't forget to add back the namespace prefix
('Foo:' or whatever)!
-- brion
_______________________________________________
MediaWiki-l mailing list
[email protected]
https://lists.wikimedia.org/mailman/listinfo/mediawiki-l