2011/4/6 Dorem - Jérémie Bouillon <jeremie(a)dorem.info>
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