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

Weiterleitungsexperte gesucht

mrblista

Bekanntes Mitglied
Lizenzinhaber
Registriert
24. Nov. 2015
Beiträge
76
Punkte
48
XF Version
  1. 2.1.1
PHP-Version
7.2
Provider/Hoster
Hetzner
Hallo zusammen,

ich stehe kurz vor der Migration einer vBulletin Installation (4.2.2) hinzu xenforo (aktuellste)
Zwei Testmigrationen sind bisher überraschend gut verlaufen.

Nun stehe ich jedoch vor einer für mich unlösbaren Aufgabe.
Ich habe in der vBulletin Datei /includes/class_friendley_url.php folgende Anpassungen gemacht:
Code:
    /**
    * The name of the script that the URL links to.
    *
    * @var string
    */
    protected $script = 'showthread.php';
    protected $script_base_option_name = 'vbforum_url';

    /**
    * The segment of the uri that identifies this type.
    *
    * @var string
    */
    protected $rewrite_segment = 'thema';
}
und
Code:
    /**
     * The name of the script that the URL links to.
     *
     * @var string
     */
    protected $script = 'forumdisplay.php';
    protected $script_base_option_name = 'vbforum_url';

    /**
     * The segment of the uri that identifies this type.
     *
     * @var string
     */
    protected $rewrite_segment = 'forum';
}
sowie
Code:
    /**
     * The name of the script that the URL links to.
     *
     * @var string
     */
    protected $script = 'member.php';
    protected $script_base_option_name = 'vbforum_url';

    /**
     * The segment of the uri that identifies this type.
     *
     * @var string
     */
    protected $rewrite_segment = 'mitglied';
}


Dazu gehören noch die Anpassungen in der .htaccess
Code:
# Forum
RewriteRule ^thema/.* showthread.php [QSA]
RewriteRule ^forum/.* forumdisplay.php [QSA]
RewriteRule ^mitglied/.* member.php [QSA]
RewriteRule ^blogs/.* blog.php [QSA]
RewriteRule ^entrys/.* entry.php [QSA]
........

RewriteCond %{HTTP_HOST} ^(?!www\.)(.+) [NC]
RewriteRule ^(.*) http://www.%1/$1 [R=301,NE,L]

RewriteCond %{REQUEST_FILENAME} -s [OR]
RewriteCond %{REQUEST_FILENAME} -l [OR]
RewriteCond %{REQUEST_FILENAME} -d

RewriteRule ^.*$ - [NC,L]

# MVC
RewriteRule ^(?:(.*?)(?:/|$))(.*|$)$ $1.php?r=$2 [QSA]

Ziel ist / war, die URL´s in folgendem Format zu haben:
Code:
http://www.kubaforum.eu/forum/94-Neu-im-Kubaforum
http://www.kubaforum.eu/thema/9884-Ich-bin-neu-im-Kubaforum
http://www.kubaforum.eu/mitglied/2706-Susa


Nun habe ich ein wenig bedenken, dass die üblichen - Redirection Scripte / Erweiterungen / .htaccess Zusätze - nicht greifen und somit viele gut indizierte Suchergebnisse verloren gehen. Oder das es aufgrund der Umleitung zu https://... ein Paar Umleitungen zu viel gibt.

-----------------------------------

Ein zweiter Teil welcher mir sehr wichtig ist wäre, dass ich gerne schön lesbare URL´s ohne Zahlen hätte. Auch zu diesem Thema habe ich mich bereits ein bisschen belesen, jedoch leider keine Möglichkeit gefunden, welche das anbietet.

Am liebsten wäre mir:
https://www.domain.de/hautpforum/unterforum/artikel
https://www.kubaforum.eu/urlaub/mietwagen/wo-am-besten-mieten/
Ohne Irgendwelche Zahlen oder ähnliches. So wie es bei WordPress auch ziemlich einfach geht.

Gibt es jemanden, der das - (gerne kostenpflichtig) ermöglichen kann?
Wichtig wäre mir auch, dass die Lösung dann updatesicher ist.

Eine Diskussion ob es wichtig, oder sinnvoll ist, solche URL´s zu haben, möchte ich mit diesem Thread nicht anstoßen ;) Für Antworten bin ich jedoch ausgesprochen dankbar.
 
Zuletzt bearbeitet:
Wie erwartet bekomme ich die alten URL´s auch mit dem empfohlenen redirection script nicht zum laufen. Hatte niemand bisher ein ähnliches Problem oder kennt einen Lösungsansatz.
 
mal versucht die IDs zu übergeben
Code:
RewriteRule ^thema/([0-9]+).* showthread.php?t=$1 [QSA]
RewriteRule ^forum/([0-9]+).* forumdisplay.php?f=$1 [QSA]
RewriteRule ^mitglied/([0-9]+).* member.php?m=$1 [QSA]
RewriteRule ^blogs/([0-9]+).* blog.php?b=$1 [QSA]
RewriteRule ^entrys/([0-9]+).* entry.php?b=$1 [QSA]
 
Hi Haddawas,

vielen Dank zuerst einmal für Deine Antwort.

Ich habe es sofort getestet, leider ohne positives Ergebnis.
Ich habe schon verschiedene Kombinationen versucht. Kann es sein, dass es mit der zeitgleichen zwangsweisen Umleitung auf https zusammenhängt?
 
wo erfolgt denn die Umleitung auf https per mod_rewrite oder von der Forensoftware aus?

wenn du die Rules für die alten URLs davor laufen lässt sollte das eigentlich passen, weil die Software ja eh einen 301 von der vB auf die XF Url veranlasst und dabei ja wohl automatisch https verwendet?!
 
Aktuell nur von der Forensoftware aus. Später aber - nach der Migration - werde ich auch eine Umleitung in die .htaccess packen.

Mit oder ohne rewrite rulse geschieht nach einem Klick auf die "alte" Domain nichts, sobald ich auf das neue Forum umleite. Sprich, es lädt zwar korrekt xenforo, die URL bleibt jedoch gleich und es kommt statt des Beitrags folgender Content:

Kubaforum - Fehler
Die gesuchte Seite konnte nicht gefunden werden.

Das Ganze halt korrekt im neuen style
 
Auch wenn mein Problem sehr individuell sein mag, ist es bei der Vielzahl der vBulletin Installationen nicht auszuschließen, dass jemand auf das selbe oder zumindest ein ähnliches Hindernis stößt. Aus diesem Grund veröffentliche ich die Lösung zu Eingangs beschriebenem Problem:

Code:
RewriteEngine On

RewriteCond %{QUERY_STRING} (^|\?)p=([0-9]+)($|&)
RewriteRule ^thema/([0-9]+)-.*$ https://www.meineseite.de/posts/%2/? [R=301,L]
RewriteRule ^thema/([0-9]+)-.*$ https://www.meineseite.de/threads/$1/? [R=301,L]
RewriteRule ^forum/([0-9]+)-.*$ https://www.meineseite.de/forums/$1/? [R=301,L]
RewriteRule ^mitglied/([0-9]+)-.*$ https://www.meineseite.de/members/$1/? [R=301,L]
 
Zurück
Oben