vBulletin & Mod_Rewrite

Webentwicklung, Widget, Wordpress


Dieser Artikel soll Ihnen bei der Optimierung Ihres vBulletin-Forums helfen, indem beschrieben wird, was zu ändern ist, um Mod_Rewrite einzurichten und das Script umzustellen. Diese Informationen gelten für vBulletin Boards der Version 3.x.x . Es besteht keine Garantie oder sonstige Verantwortung auf die folgenden Anweisungen. Daher wird empfohlen, vor den ?nderungen ein BackUp der Dateien anzulegen.

In der Datei includes/functions_forumlist.php muss über der Zeile mit folgendem Inhalt

    $forum['statusicon'] = fetch_forum_lightbulb($forumid, $lastpostinfo, $forum);
folgender Code eingeschoben werden:

$forum['url'] = strtolower(str_replace(" ", "-",str_replace("/", "-", $forum['title'])));

Diese ?nderung war grundlegend. Nun sind noch weitere ?nderungen der Templates vorzunehmen, wofür am Besten der Style Manager von vBulletin verwendet wird. Hierfür wählen Sie im vb Admin-Bereich -> Style Manager und nehmen einige ?nderungen für das gewählte Template vor. Im Folgenden wird FORUMHOME verwendet:

In forumhome_forumbit_level1_post, forumhome_forumbit_level1_nopost, forumhome_forumbit_level2_post, forumhome_forumbit_level2_nopost, forumhome_subforumbit_post und forumhome_subforumbit_nopost : Ersetzen Sie die Zeile <a href="forumdisplay.php?$session[sessionurl]f=$forum[forumid]"> mit diesem Code:  <a href="forum$forum['forumid'].html"> , was zur Folge hat, dass an Stelle der Sessions-beinhaltenden Urls kurze, statische und suchmaschinenfreundliche Adressen verwendet werden. Wenn vorhanden, so kann auch ein vBulletin Script zum automatischen Ersetzen der Textstellen in allen Dateien auf einen Schlag verwendet werden.

Da die obigen Urls lediglich die Foren abdecken, müssen nun auch noch einige Anpassungen vorgenommen werden, um für schöne Urls, die zu den Threads führen, zu sorgen:

In forumhome_lastpostby muss <a href="showthread.php?$session[sessionurl]goto=newpost&amp;t=$lastpostinfo[lastthreadid]" title="<phrase 1="$lastpostinfo[lastthread]">$vbphrase[go_first_unread_in_thread_x]</phrase>"><strong>$lastpostinfo[trimthread]</strong></a>  ersetzt werden durch  <a href="newpostinthread$lastpostinfo[lastthreadid].html" title="<phrase 1="$lastpostinfo[lastthread]">$vbphrase[go_first_unread_in_thread_x]</phrase>"><strong>$lastpostinfo[trimthread]</strong></a> . Zudem sollten Sie <a href="showthread.php?$session[sessionurl]goto=newpost&amp;t=$thread[threadid]">
ersetzen durch
<a href="newpostinthread$thread[threadid].html">
und
<a href="showthread.php?$session[sessionurl]t=$thread[threadid]$thread[highlight]"> durch
<a href="thread$thread[threadid].html">
und
<a href="showthread.php?$session[sessionurl]t=$thread[threadid]&amp;goto=lastpost$thread[highlight]">
durch
<a href="lastpostinthread$thread[threadid].html">
.

Dies sollte ausreichen für die Templates...

Erstellen Sie nun im Hauptverzeichnis des Forums ein Datei namen .htaccess , in welche Sie Folgendes eintragen:

RewriteEngine on
Options +FollowSymLinks
RewriteRule ^thread([0-9]+).html$ showthread.php?t=$1 [L]
RewriteRule ^lastpostinthread([0-9]+).html$ showthread.php?goto=lastpost&t=$1 [L]
RewriteRule ^newpostinthread([0-9]+).html$ showthread.php?goto=newpost&t=$1 [L]
RewriteRule ^forum([0-9]+).html$ forumdisplay.php?f=$1 [L]

Nun bearbeiten wir erneut die Templates. Diese Mal navbar:

<a href="$vboptions[forumhome].php?$session[sessionurl]" accesskey="1">
ist in diesem Template 2 Mal zu ersetzen durch
<a href="../" accesskey="1">
.

Wenden wir uns nun der Datei forumdisplay.php und showthread.php zu. Darin suchen Sie am Besten nach // draw nav . Einige Zeilen darüber finden Sie foreach ($parentlist AS $forumID) {...}, was Sie ersetzen durch:

foreach ($parentlist AS $forumID)
{
$forumTitle = $forumcache["$forumID"]['title'];
$navbits["forum$forumID.html"] = $forumTitle; // edited by dani
}

Nun sollte das vBulletin Board suchmaschinenfreundlich sein und ausschlie?lich statische Links besitzen.

Viel Spass damit.





Verantwortlich für diesen Text ist der jeweilige Autor.