http://ptifo.clanmckeen.com/viewtopic.php?t=259
Die Short Urls für den Categories Hierarchy Mod V 2.1.0 gepostet von Rabbit und geschrieben von '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]*)&unmark=topic'",
"'(?<!/\./)viewtopic.php\?p=([0-9]*)&unmark=post'",
"'(?<!/\./)viewtopic.php\?t=([0-9]*)&view=newest'",
"'(?<!/\./)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",
"uttopic\\1.html",
"uptopic\\1.html",
"newtopic\\1.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();
#
#-----[ AFTER, ADD ]------------------------------------------
#
echo replace_for_mod_rewrite($contents);
global $dbg_starttime;
#
#-----[ SAVE/CLOSE ALL FILES ]------------------------------------------
#
# EoM
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 ^uttopic([0-9]*).* viewtopic.php?t=$1&unmark=topic
RewriteRule ^uptopic([0-9]*).* viewtopic.php?p=$1&unmark=post
RewriteRule ^newtopic([0-9]*).* viewtopic.php?t=$1&view=newest
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

**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
fixed bug, bei dem man nicht auf seite 2, 3,... gehen konnte in einem topic, sondern immer wieder auf seite 1 landete.
**edit03**
Hier nochmal die robots.txt, die ihr auch anlegen solltet um doppelten Content in den Suchmaschinen zu vermeiden:
Code: Alles auswählen
User-agent: *
Disallow: /login.php
Disallow: /admin/
Disallow: /db/
Disallow: /images/
Disallow: /includes/
Disallow: /language/
Disallow: /templates/
Disallow: /config.php
Disallow: /profile.php
Disallow: /groupcp.php
Disallow: /memberlist.php
Disallow: /modcp.php
Disallow: /posting.php
Disallow: /privmsg.php
Disallow: /viewonline.php
Disallow: /faq.php
Disallow: /ptopic*.html$
Disallow: /ntopic*.html$
Disallow: /fpost*.html$
Disallow: /uttopic*.html$
Disallow: /uptopic*.html$
Disallow: /newtopic*.html$
Disallow: /ftopic*asc*.html$
**edit04**
Bugfixes integriert für die URLs:
- Topics als ungelesen markieren
- Posts als ungelesen marikieren
- Neuester Post in einem Topic
**edit05** 20.09.2005
Bugfixes integriert:
- in page_tail.php Position des Codeinbaus geändert (direkt nach: "$gzip_contents...", nicht erst nach "ob_end_clean();")
Das ist wichtig, wenn in Eurem Board gzip aktiviert ist.