Short Urls bei Categories Hierarchy

In diesem Forum können Mod-Autoren ihre Mods vorstellen, die sich noch im Entwicklungsstatus befinden. Der Einbau in Foren im produktiven Betrieb wird nicht empfohlen.
Forumsregeln
phpBB 2.0 hat das Ende seiner Lebenszeit überschritten
phpBB 2.0 wird nicht mehr aktiv unterstützt. Insbesondere werden - auch bei Sicherheitslücken - keine Patches mehr bereitgestellt. Der Einsatz von phpBB 2.0 erfolgt daher auf eigene Gefahr. Wir empfehlen einen Umstieg auf phpBB 3.0, welches aktiv weiterentwickelt wird und für welches regelmäßig Updates zur Verfügung gestellt werden.
Benutzeravatar
mgutt
Mitglied
Beiträge: 2999
Registriert: 31.08.2004 16:44
Wohnort: Hennef
Kontaktdaten:

Short Urls bei Categories Hierarchy

Beitrag von mgutt »

Die jeweils aktuellste Version ist hier zu finden:
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
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 ^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 
getestet und für gut befunden! :D

**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.

**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.
Zuletzt geändert von mgutt am 05.01.2006 10:12, insgesamt 10-mal geändert.
meine Foren: http://www.maxrev.de/communities.htm
Ich kaufe Dein Forum! Angebote bitte an marc at gutt punkt it
Benutzeravatar
rabbit
Ehemaliger Übersetzer
Beiträge: 4199
Registriert: 14.06.2003 22:09
Wohnort: Hildesheim
Kontaktdaten:

Beitrag von rabbit »

bei mir zeigt er
/post-1.html&unmark=post
an und das funktioniert. allerdings kann ich das jetzt nicht mehr nachprüfen, da ich mod_rewrite nur für gäste laufen habe und die members sehen ganz normale dynamische php-links. da gäste verständlicherweise nicht als 'ungelesen' markieren können, geht das nun bei mir nicht mehr zu testen (erinnere mich aber, dass es ging, als ich mod_rewrite noch für alle laufen hatte).
Offizieller Übersetzer des Categories Hierarchy MOD 2.1.x
Deutscher UserGuide für den Categories Hierarchy MOD v2.1.4
Empfohlener Hoster: All-Inkl.com
Benutzeravatar
mgutt
Mitglied
Beiträge: 2999
Registriert: 31.08.2004 16:44
Wohnort: Hennef
Kontaktdaten:

Beitrag von mgutt »

ja ich habe den mod leicht abgewandelt was die dateinamen betrifft, aber du hast jetzt den link eh gepostet von der kleinen grafik rechts neben einem post. aber der geht genauso wenig :cry:
meine Foren: http://www.maxrev.de/communities.htm
Ich kaufe Dein Forum! Angebote bitte an marc at gutt punkt it
Fundus
Mitglied
Beiträge: 488
Registriert: 29.03.2004 21:22

Beitrag von Fundus »

guter Mod 8)

hab das jetzt so gelöst das nur registrierte die Shorturls bekommen
(if anonymus abfrage bei den drei stellen der shorturls)

damit funktioniert wieder alles und google wird sicher nichts als ungelesen markieren wollen :wink:
Benutzeravatar
mgutt
Mitglied
Beiträge: 2999
Registriert: 31.08.2004 16:44
Wohnort: Hennef
Kontaktdaten:

Beitrag von mgutt »

nur registrierte? das ist doch blödsinn.. shorturls sind doch gerade dafür da, dass die suchmaschine es einfacher hat.. und seit dem der mod bei mir läuft haben die sumas im schnitt 50% mehr seiten gelistet!
meine Foren: http://www.maxrev.de/communities.htm
Ich kaufe Dein Forum! Angebote bitte an marc at gutt punkt it
Fundus
Mitglied
Beiträge: 488
Registriert: 29.03.2004 21:22

Beitrag von Fundus »

natürlich ist das blödsinn umgekehrt wird ein schuh draus :oops:

ich meinte Anonymus bekommt die Shorturls und die Registrierten nicht :wink:

deswegen ja auch das mit der funktion der unread markierung usw

hab micht etwas damit gespielt aber habs dann auch nicht hinbekommen das zum laufen zu kriegen und wenn man die Shorturls für die regs Abschaltet :wink: läuft wieder alles bestens.

Hab dann auch gleich noch ne funktion aus der Plus1.53Beta übernommen womit man beides nach belieben (SID&Shorturls) abschalten kann, was auch recht gut funzt
nur läst sich die SID nicht ohne Shorturls abschalten :-? da werd ich wohl noch nachbessern müssen :(
Benutzeravatar
mgutt
Mitglied
Beiträge: 2999
Registriert: 31.08.2004 16:44
Wohnort: Hennef
Kontaktdaten:

Beitrag von mgutt »

ich habe mich dran gemacht und drei Bugfixes integriert. Jetzt gehen auch die genannten Links mit dem "ungelesen markieren" und "view newest post".
meine Foren: http://www.maxrev.de/communities.htm
Ich kaufe Dein Forum! Angebote bitte an marc at gutt punkt it
Benutzeravatar
mgutt
Mitglied
Beiträge: 2999
Registriert: 31.08.2004 16:44
Wohnort: Hennef
Kontaktdaten:

Beitrag von mgutt »

Problem entdeckt:

- Wenn man z.B. einen Link von einem befreundete Forum in einem Beitrag verlinkt á la "www.deinedomain.de/viewforum.php?f=6" dann wird dieser Link ebenfalls durch die page_header.php umgewandelt in "www.deinedomain.de/viewforums6.html"

Weiß jemand wie man das beheben könnte? Sonst würden ja alle Links zu phpbb-Foren zerstört werden.
meine Foren: http://www.maxrev.de/communities.htm
Ich kaufe Dein Forum! Angebote bitte an marc at gutt punkt it
Benutzeravatar
larsneo
Mitglied
Beiträge: 2622
Registriert: 07.03.2002 15:23
Wohnort: schwäbisch gmünd
Kontaktdaten:

Beitrag von larsneo »

wirf einmal einen genaueren blick auf die

Code: Alles auswählen

function replace_mod_rewrite()
im orginalmod ;-)
gruesse aus dem wilden sueden
larsneo
..::[krapohl.net]::..
Benutzeravatar
rabbit
Ehemaliger Übersetzer
Beiträge: 4199
Registriert: 14.06.2003 22:09
Wohnort: Hildesheim
Kontaktdaten:

Beitrag von rabbit »

larsneo hat geschrieben:wirf einmal einen genaueren blick auf die

Code: Alles auswählen

function replace_mod_rewrite()
im orginalmod ;-)
lol, yup...
die version von andreas hab' ich auch bei mir laufen, soweit ohne probleme. :)
Offizieller Übersetzer des Categories Hierarchy MOD 2.1.x
Deutscher UserGuide für den Categories Hierarchy MOD v2.1.4
Empfohlener Hoster: All-Inkl.com
Antworten

Zurück zu „phpBB 2.0: Mods in Entwicklung“