• Wenn du hier im Forum ein neues Thema erstellst, sind schon Punkte aufgeführt die du ausfüllen musst. Das dient im Allgemeinen dazu die notwendigen Informationen direkt mit der Frage bereitzustellen.
    Da in letzter Zeit immer wieder gerne das Formular gelöscht wurde und erst nach 3 Seiten Nachfragen die benötigten Infos für eine Hilfe kommen, werde ich nun jede Fragestellung die nicht einmal annähernd das Formular benutzt, sofort in den Sondermüll schicken.
    Füllt einfach die abgefragte Daten aus und alle können euch viel schneller helfen.

URL Struktur oder Weiterleitung bei Umzug von VB zu XF

DRaver

Bekanntes Mitglied
Registriert
30. Juli 2013
Beiträge
1.400
Punkte
138
Momentan haben wir einige VB Foren im Einsatz. Weil wir bei einem "Upgrade" auf XF natürlich nicht unsere Rankings und Linkpower verlieren wollen, ist der Weiterleitung von URL´S für uns natürlich ein großes Thema.

Zum Status:

Bisher:
Webserver: Apache
Forensoftware: Vbulletin 4 + VBSEO

Zukünftig:

Webserver: Nginx
Forensoftware: XF 1.2

Ich mache mir da etwas sorgen, weil rewrite Rules non Nginx anders gehandhabt werden.

Gibt es da eine Lösung bzw. eine schöne Anleitung, mit der man mal was testen kann?
 
Du kannst dir mit dem Tool Apache-Rewrite-Regeln erstellen lassen und dann mal bei XF oder hier (Disclaimer: Ich kanns nicht, weil ich Nginx nicht verwende) nachfragen, ob dir das jemand umschreiben könnte.

Danke für die Infos. Für das Umschreiben der Rewrite Regeln Apache zu Nginx scheint es auch ein Tool zu geben, nämlich diese hier.

Das würde dann für das erste VBSEO Set folgende Nginx Regel vorschlagen:

Code:
# nginx configuration

location / {
  rewrite [^/]+/([\d]+)-.+-([\d]+).html /showthread.php?t=$1&page=$2 break;
  rewrite [^/]+/([\d]+)-.+.html /showthread.php?t=$1 break;
}

Sollte das so einfach sein? Na das werden die Test dann ja ergeben :)
 
Ja, mit den beschriebenen Tools und Scripts geht das super. Auch wenn man die Unterverzeichnisse und/oder Domain ändert. Hat bei meinem Umzug vor zwei Jahren wunderbar geklappt.
 
Wenn ich das mal grob überfliege, sind das die URL´S für die Themen. Was ist denn mit Userprofilen und Alben?
 
Alben gibt es im XF ja nicht, und Userprofile werden leider auch nicht unterstützt.
Aber da themen und foren eh das meiste ausmachen, kann man damit leben.
 
Die Weiterleitung von vbSEO über Scripts zu XF wird nicht unterstützt.

Die Alben werden - mit dem alten AddOn Importer - genau so wie die Gruppen als Foren importiert.
 
kommt auch stark auf deine URLs an
die Umschreibungen berücksichtigen auch nur URLs mit ID, wenn du in deinen Profilen wie offenbar auch den Foren, keine IDs verwendest gehts nicht (so einfach)
 
Yep, keine ID...zumindest in der VBSEO umgewandelten URL.
 
Oh, das ist blöd. Davon wurde übrigens auch immer abgeraten. Da kann man nichts machen, so ohne weiteres.
 
zumindest für Foren könntet man die Weiterleitungen von Hand definieren, bei einer normalen Menge an Usern ist das aber normal kein praktikabler Weg diese genauso zu handlen
man könnte höchstens ein Skript schreiben, dass den Namen auf Existenz prüft und ggf. weiterleitet, klappt zwar nur bei wenigen, aber besser wie nichts
 
Ich habe aber ein vb4 und kein vb3.
 
Ja, aber wenn die verbreiteten URLs aus vBSEO kommen, ist das egal. Letztlich wird aus der URL nur die ID benötigt und die hat es in vB3 auch schon gegeben. Wenn sie (ohne vBSEO) auch anders eingegeben wurde, aber die Rewrites von GeekPoint (die dann erst noch auf nginx angepasst werden müssten) schreiben auf vB3 um.

So ein Rewrite sagt ja dem Server, dass die Adresszeile zwar "so" aussieht, aber der eigentliche Aufruf ein anderer sein müsste. Und an der Stelle kann man das vB4-Zeugs überbrücken.
 
Das sind übrigens exakt die Scripte aus dem VB4 Skript in dem Verzeichnis "standard-basic-advanced "

Nur die meinen man sollte dann folgenden rewirte für Ngnix machen:

Code:
rewrite ^/showthread.php /showthread.php;
rewrite ^/forumdisplay.php /forumdisplay.php;

Wir hatten aber weiter oben im Thread schon festgestellt, dass es für Vbseo so aussehen müsste:
Code:
 rewrite [^/]+/([\d]+)-.+-([\d]+).html /showthread.php?t=$1&page=$2 break;
  rewrite [^/]+/([\d]+)-.+.html /showthread.php?t=$1 break;

Das ist alles irgendwie verwirrend für mich.
 
Wenn du das meinst und die Regeln schon aus deinem vBSEO stammen, dann sollte es so laufen

Code:
# nginx configuration

location / {
  rewrite [^/]+/([\d]+)-.+-([\d]+).html /showthread.php?t=$1&page=$2 break;
  rewrite [^/]+/([\d]+)-.+.html /showthread.php?t=$1 break;
}

Sollte das so einfach sein? Na das werden die Test dann ja ergeben :)

Und dann kannst du auch die vB3-Redirect-Scripte verwenden, weil - wie gesagt - das Tool von GeekPoint auf vB3 angepasst ist. showthread.php?t=1234 ist eine vB3-URL.
 
Haut leider noch nicht ganz hin. Gebe ich eine alte URL ein so fängt der Browser an eine Html Datei herunterzuladen.

Inhalt:
Code:
setupAutoloader($fileDir . '/library'); XenForo_Application::initialize($fileDir . '/library', $fileDir); XenForo_Application::set('page_start_time', $startTime); $http = new Zend_Controller_Request_Http(); $inputHandler = new XenForo_Input($http); $input = $inputHandler->filter(array( 't' => XenForo_Input::UINT, 'p' => XenForo_Input::UINT )); if(preg_match('/(?:showthread|printthread)\.php(?:\/|\?)([0-9]+)(?:-[^\/]+)/', $http->getRequestUri(), $matches) && count($matches) >= 1){ $input['t'] = intval($matches[1]); } $importModel = XenForo_Model::create('XenForo_Model_Import'); $target = false; if ($input['t']) { if ($newId = $importModel->mapThreadId($input['t'])) { $target = XenForo_Link::buildPublicLink('canonical:threads', array('thread_id' => $newId)); } } else if ($input['p']) { $newId = $importModel->mapPostId($input['p']); if ($newId) { $target = XenForo_Link::buildPublicLink('canonical:posts', array('post_id' => $newId)); } } if (!$target) { $target = XenForo_Link::buildPublicLink('canonical:index'); } $response = new Zend_Controller_Response_Http(); $response->setRedirect(XenForo_Link::convertUriToAbsoluteUri($target), 301); $response->sendResponse();
 
Zurück
Oben