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:

Beitrag von mgutt »

soll heißen?
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 »

im originalmod werden nur urls vom eigenen board umgeschrieben ;-)
gruesse aus dem wilden sueden
larsneo
..::[krapohl.net]::..
Benutzeravatar
mgutt
Mitglied
Beiträge: 2999
Registriert: 31.08.2004 16:44
Wohnort: Hennef
Kontaktdaten:

Beitrag von mgutt »

Das habe ich mir schon gedacht, nur ich verstehe nicht Rabbit's Kommentar.. wer ist denn jetzt Andreas?

Soll heißen Rabbit benutzt den hier Code gar nicht sondern den alten oder wie? *verwirrtbin*
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 »

larsneo = andreas... ;)

ich nutze einen 'zwitter' aus meinem ursprünglich in larsneo's topic geposteten MOD, den ich von gilgraf's board habe, und larsneo's MOD... :) (mit der einen oder anderen eigenen anpassung)
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 »

na dann zeig doch mal nach der "geschlechtsumwandlung" wie das ergebnis nun aussieht :lol:
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 »

.htaccess betreffend mod_rewrite:

Code: Alles auswählen

#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 ^intro.* intro.php 
   RewriteRule ^virus.* virus.php
   RewriteRule ^downloads.* dload.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
page_header.php:

Code: Alles auswählen

// start short url's
if ( !$userdata['session_logged_in'] )
{
ob_start(); 

function replace_for_mod_rewrite(&$s) { 
// get the correct base_url: protocoll,url,path to make sure to rewrite only internal links 
if (empty($HTTP_SERVER_VARS['HTTP_HOST'])) { 
   $server = getenv('HTTP_HOST'); 
} else { 
   $server = $HTTP_SERVER_VARS['HTTP_HOST']; 
} 
// IIS sets HTTPS=off 
if (isset($HTTP_SERVER_VARS['HTTPS']) && $HTTP_SERVER_VARS['HTTPS'] != 'off') { 
   $proto = 'https://'; 
} else { 
   $proto = 'http://'; 
} 
// Get the name of this URI 
// Start of with REQUEST_URI 
if (isset($HTTP_SERVER_VARS['REQUEST_URI'])) { 
   $path = $HTTP_SERVER_VARS['REQUEST_URI']; 
} else { 
   $path = getenv('REQUEST_URI'); 
} 
if ((empty($path)) || (substr($path, -1, 1) == '/')) { 
   // REQUEST_URI was empty or pointed to a path 
   // Try looking at PATH_INFO 
   $path = getenv('PATH_INFO'); 
   if (empty($path)) { 
      // No luck there either 
      // Try SCRIPT_NAME 
      if (isset($HTTP_SERVER_VARS['SCRIPT_NAME'])) { 
         $path = $HTTP_SERVER_VARS['SCRIPT_NAME']; 
      } else { 
         $path = getenv('SCRIPT_NAME'); 
      } 
   } 
} 

$path = preg_replace('/[#\?].*/', '', $path); 
$path = dirname($path); 

if (preg_match('!^[/\\\]*$!', $path)) { 
   $path = ''; 
} 

$base_url = "$proto$server$path/"; 
$prefix = '|"(?:'.$base_url.')?'; 
// now that we know about the correct $prefix we can start the rewriting 

   $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'", 
   "'(?<!/\./)intro.php'",
   "'(?<!/\./)virus.php'",
   "'(?<!/\./)dload.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", 
   "intro.html",
   "virus.html",
   "downloads.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; 
  }
}
// end short url's
page_tail.php:

Code: Alles auswählen

// 
// Short URL implementation 
// 
if ( !$userdata['session_logged_in'] )
{
$contents = ob_get_contents(); 
ob_end_clean(); 
echo replace_for_mod_rewrite($contents);
}

Code: Alles auswählen

  // short url's
  $gzip_contents = replace_for_mod_rewrite($gzip_contents); 
  global $dbg_starttime;
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
larsneo
Mitglied
Beiträge: 2622
Registriert: 07.03.2002 15:23
Wohnort: schwäbisch gmünd
Kontaktdaten:

Beitrag von larsneo »

um probleme bei der anzeige des captchas bei der registrierung zu vermeiden (falls nämlich die benutzer keine cookies erlauben) würde ich folgende zusätzliche änderung in der /includes/sessions.php vorschlagen (siehe originalmod):

Code: Alles auswählen

if ( $userdata['session_user_id'] != ANONYMOUS || $userdata['session_page'] == -4 ){
   $SID = 'sid=' . $session_id;
} else {
   $SID = '';
}
gruesse aus dem wilden sueden
larsneo
..::[krapohl.net]::..
Fundus
Mitglied
Beiträge: 488
Registriert: 29.03.2004 21:22

Beitrag von Fundus »

ähhm muss da aber nicht noch vor jeden eintrag
$prefix . '(?<!/)index.php"|',
sonst hilft der ganze text drüber nix, da er ja nicht auf den prefix prüft, oder bin ich da jetzt am holzweg :roll:
Benutzeravatar
rabbit
Ehemaliger Übersetzer
Beiträge: 4199
Registriert: 14.06.2003 22:09
Wohnort: Hildesheim
Kontaktdaten:

Beitrag von rabbit »

larsneo hat geschrieben:um probleme bei der anzeige des captchas bei der registrierung zu vermeiden (falls nämlich die benutzer keine cookies erlauben) würde ich folgende zusätzliche änderung in der /includes/sessions.php vorschlagen (siehe originalmod):

Code: Alles auswählen

if ( $userdata['session_user_id'] != ANONYMOUS || $userdata['session_page'] == -4 ){
   $SID = 'sid=' . $session_id;
} else {
   $SID = '';
}
ein update, welches mir entgangen ist. danke für den hinweis!
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
Fundus
Mitglied
Beiträge: 488
Registriert: 29.03.2004 21:22

Beitrag von Fundus »

OT (verzeiht bitte das hijacking :oops: )

Hat zufällig jemand eine idee wie man das hier umgeschrieben bekommt, zurück klappt ohne probleme, aber zur shorturl verweigert er
url

Code: Alles auswählen

/viewtopic.php?printertopic=1&t=10&start=0&postdays=0&postorder=asc&vote=viewresult
bisheriger Code in der page_header.php (der aber nicht klappt)

Code: Alles auswählen

$prefix . '(?<!/)viewtopic.php\?printertopic=([0-9]*)&t=([0-9]*)&start=([0-9]*)&postdays=([0-9]*)&postorder=asc&vote=viewresult"|', 
Antworten

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