ok, hier eine adaptation der short URLs für den Categories Hierarchy MOD v2.1.0:
dank an 'paperclips' @ ggweb-fr.com
Code: Alles auswählen
#
#-----[ OPEN ]------------------------------------------
#
includes/page_header.php
#
#-----[ FIND ]------------------------------------------
#
$template->set_filenames(array(
'overall_header' => ( empty($gen_simple_header) )
);
#
#-----[ AFTER, ADD ]------------------------------------------
#
ob_start();
function replace_mod_rewrite($s)
{
$urlin = array(
//Forums
"'(?<!/\./)index.php\?f=([0-9]*)&ppage=([0-9]*)&sort=lastpost&order=DESC&start=([0-9]*)'",
"'(?<!/\./)index.php\?f=([0-9]*)&ppage=([0-9]*)&sort=lastpost&order=DESC'",
"'(?<!/\./)index.php\?f=([0-9]*)&mark=topics'",
"'(?<!/\./)index.php\?mark=forums'",
"'(?<!/\./)index.php\?f=([0-9]*)'",
"'(?<!/\./)index.php'",
//Topics
"'(?<!/\./)viewtopic.php\?t=([0-9]*)&postdays=([0-9]*)&postorder=asc&start=([0-9]*)'",
"'(?<!/\./)viewtopic.php\?t=([0-9]*)&postdays=([0-9]*)&postorder=asc&vote=viewresult'",
"'(?<!/\./)viewtopic.php\?t=([0-9]*)&watch=topic&postorder=asc'",
"'(?<!/\./)viewtopic.php\?t=([0-9]*)&unwatch=topic&postorder=asc'",
"'(?<!/\./)viewtopic.php\?t=([0-9]*)&start=([0-9]*)'",
"'(?<!/\./)viewtopic.php\?t=([0-9]*)&postorder=asc&start=([0-9]*)'",
"'(?<!/\./)viewtopic.php\?t=([0-9]*)&view=previous'",
"'(?<!/\./)viewtopic.php\?t=([0-9]*)&view=next'",
"'(?<!/\./)viewtopic.php\?p=([0-9]*)'",
"'(?<!/\./)viewtopic.php\?t=([0-9]*)'",
);
$urlout = array(
//Forums
"forum-\\1-\\2-\\3.html",
"forum-\\1-\\2.html",
"mforum-\\1.html",
"mforums.html",
"forum-\\1.html",
"forums.html",
//Topics
"topic-\\1-\\2-\\3.html",
"poll-\\1-\\2.html",
"wtopic-\\1.html",
"utopic-\\1.html",
"topic-\\1-\\2.html",
"topic-\\1-\\2.html",
"ptopic-\\1.html",
"ntopic-\\1.html",
"post-\\1.html",
"topic-\\1.html",
);
$s = preg_replace($urlin, $urlout, $s);
return $s;
}
#
#-----[ OPEN ]------------------------------------------
#
includes/page_tail.php
#
#-----[ FIND ]------------------------------------------
#
$db->sql_close();
#
#-----[ AFTER, ADD ]------------------------------------------
#
$contents = ob_get_contents();
ob_end_clean();
echo replace_mod_rewrite($contents);
global $dbg_starttime;
#
#-----[ FIND ]------------------------------------------
#
$gzip_contents = ob_get_contents();
ob_end_clean();
#
#-----[ AFTER, ADD ]------------------------------------------
#
echo replace_for_mod_rewrite($contents);
global $dbg_starttime;
#
#-----[ SAVE/CLOSE ALL FILES ]------------------------------------------
#
# EoM
für die .htaccess:
Code: Alles auswählen
RewriteEngine On
#Forums
RewriteRule ^forum-([0-9]*)-([0-9]*)-([0-9]*).* index.php?f=$1&ppage=$2&sort=lastpost&order=DESC&start=$3
RewriteRule ^forum-([0-9]*)-([0-9]*).* index.php?f=$1&ppage=$2&sort=lastpost&order=DESC
RewriteRule ^mforum-([0-9]*).* index.php?f=$1&mark=topics
RewriteRule ^mforums.* index.php?mark=forums
RewriteRule ^forum-([0-9]*).* index.php?f=$1
RewriteRule ^forums.* index.php
RewriteRule ^admin/forums.* admin/index.php
#Topics
RewriteRule ^topic-([0-9]*)-([0-9]*)-([0-9]*).* viewtopic.php\?t=$1&postdays=$2&postorder=asc&start=$3
RewriteRule ^poll-([0-9]*)-([0-9]*).* viewtopic.php\?t=$1&postdays=$2&postorder=asc&vote=viewresult
RewriteRule ^wtopic-([0-9]*).* viewtopic.php?t=$1&watch=topic&postorder=asc
RewriteRule ^utopic-([0-9]*).* viewtopic.php?t=$1&unwatch=topic&postorder=asc
RewriteRule ^topic-([0-9]*)-([0-9]*).* viewtopic.php?t=$1&start=$2
RewriteRule ^ptopic-([0-9]*).* viewtopic.php?t=$1&view=previous
RewriteRule ^ntopic-([0-9]*).* viewtopic.php?t=$1&view=next
RewriteRule ^post-([0-9]*).* viewtopic.php?p=$1
RewriteRule ^topic-([0-9]*).* viewtopic.php?t=$1
getestet und für gut befunden!
**edit**
für user, die den
jr.admin MOD mit CH 2.1.0 nutzen:
euer jr.admin kommt nicht ins acp mit der o.g. änderung der page_header.php, daher müsst ihr folgendes ändern:
Code: Alles auswählen
#-----[ OPEN ]------------------------------------------
#
includes/page_header.php
#
#-----[ FIND ]------------------------------------------
#
"'(?<!/\./)index.php'",
#
#-----[ REPLACE WITH ]------------------------------------------
#
"'(?<!/)index.php'",
#
#-----[ OPEN ]------------------------------------------
#
.htaccess
#
#-----[ FIND AND DELETE ]------------------------------------------
#
RewriteRule ^admin/forums.* admin/index.php
#
#-----[ SAVE/CLOSE ALL FILES ]------------------------------------------
#
# EoM
**edit02**
fixed bug, bei dem man nicht auf seite 2, 3,... gehen konnte in einem topic, sondern immer wieder auf seite 1 landete.