Contents |
[edit]
.htaccess & SEO
.htaccess file are used by apache to rewrite urls. This is very useful when doing an seo optimization. Some of you may have seen a couple of my sites where the modules are operating out side the /modules/ path this is done with a .htaccess file in the XOOPS_ROOT_PATH.
See .htaccess for more details
[edit]
.htaccess
This is the modification for SEO paths for News
RewriteRule ^wiki/([a-zA-Z0-9\_\-]+)/([a-zA-Z0-9\_\-]+)/?([a-zA-Z0-9\&\%\?\_\.\-\=]+) modules/mediawiki/index.php?title=$1&titlerepo=$2&$3 [L,NC,QSA] RewriteRule ^wiki/([a-zA-Z0-9\_\-]+)/([a-zA-Z0-9\_\-]+)/ modules/mediawiki/index.php?title=$1&titlerepo=$2 [L,NC,QSA] RewriteRule ^wiki/$ modules/mediawiki/index.php?title=Main_Page [L,NC,QSA] RewriteRule ^wiki modules/mediawiki/index.php?title=Main_Page [L,NC,QSA]
[edit]
Changes to the code
[edit]
index.php
From line 77 to the end has to appear like so.
# Include this site setttings
require_once( './LocalSettings.php' );
# Prepare MediaWiki
require_once( 'includes/Setup.php' );
# Initialize MediaWiki base class
require_once( "includes/Wiki.php" );
$mediaWiki = new MediaWiki();
wfProfileIn( 'main-misc-setup' );
OutputPage::setEncodings(); # Not really used yet
global $xoopsModuleConfig;
# Query string fields
$action = $wgRequest->getVal( 'action', 'view' );
$title = $wgRequest->getVal( 'title' );
$titlebuf = explode(":", $_REQUEST['title']);
if (sizeof($titlebuf)==2){
$title = $titlebuf[1];
$titlerepo = ($titlebuf[0]);
} else {
$title = $_REQUEST['title'];
$titlerepo = 'doc';
}
if (isset($_REQUEST['titlerepo'])) {
if ($titlerepo!='doc'){
$title = $titlerepo.":".$title;
}
}
if (empty($title)){
$title = "Main_Page";
}
#
# Send Ajax requests to the Ajax dispatcher.
#
if ( $wgUseAjax && $action == 'ajax' ) {
require_once( 'AjaxDispatcher.php' );
$dispatcher = new AjaxDispatcher();
$dispatcher->performAction();
exit;
}
$wgTitle = $mediaWiki->checkInitialQueries( $title,$action,$wgOut, $wgRequest, $wgContLang );
if ($wgTitle == NULL) {
unset( $wgTitle );
}
if (!isset($_REQUEST['titlerepo'])&&$action!='submit'){
if (strpos($_SERVER['REQUEST_URI'],'odules/')>0){
$tt=str_replace('/modules/mediawiki/','',$_SERVER['REQUEST_URI']);
$tt=str_replace('title='.$_REQUEST['title'],'',$tt);
$tt=str_replace('index.php','',$tt);
$tt=str_replace('?&','?',$tt);
header( "HTTP/1.1 301 Moved Permanently" );
header( "Location: ".XOOPS_URL."/wiki/$title/$titlerepo/$tt");
exit;
}
}
wfProfileOut( 'main-misc-setup' );
# Setting global variables in mediaWiki
$mediaWiki->setVal( 'Server', $wgServer );
$mediaWiki->setVal( 'DisableInternalSearch', $wgDisableInternalSearch );
$mediaWiki->setVal( 'action', $action );
$mediaWiki->setVal( 'SquidMaxage', $wgSquidMaxage );
$mediaWiki->setVal( 'EnableDublinCoreRdf', $wgEnableDublinCoreRdf );
$mediaWiki->setVal( 'EnableCreativeCommonsRdf', $wgEnableCreativeCommonsRdf );
$mediaWiki->setVal( 'CommandLineMode', $wgCommandLineMode );
$mediaWiki->setVal( 'UseExternalEditor', $wgUseExternalEditor );
$mediaWiki->setVal( 'DisabledActions', $wgDisabledActions );
$wgArticle = $mediaWiki->initialize ( $wgTitle, $wgOut, $wgUser, $wgRequest );
$mediaWiki->doUpdates( $wgPostCommitUpdateList );
$mediaWiki->finalCleanup ( $wgDeferredUpdateList, $wgLoadBalancer, $wgOut );
$mediaWiki->restInPeace( $wgLoadBalancer );

![[Main Page]](/modules/mediawiki/images/mediawiki.png)






