301 Weiterleitung in vBulletin 5 ohne routestring in url

  • Hi,

    wir haben ein Problem mit der URL-Struktur eines vBulletin 5 und der Umleitung der Urls. Es wäre super, wenn hier jemand helfen könnte.
    Leider hat der Beitrag mir auch nicht weiter helfen können, da ich mich mit RewriteCond und regulären Ausdrücken nicht so gut auskenne.

    Problem sind die Kategorien, welche in der Vergangenheit aus mehreren Foren zusammengefügt wurden, dabei auch verschiedene Zeichencodierungen hatten und nun nicht mehr vorhanden sind.
    Nach einem massiven Problem mit der DB mussten wir auf eine andere DB ziehen und verbunden damit von latin1 auf utf-8 umstellen. Dabei sind leider auch die routes verschiedener alter Datensätze unbrauchbar gewesen und die URLs mussten neu erzeugt werden.
    Nun zum Problem an sich.
    Da google immer noch die alte Struktur gelistet hat, würden wir gerne die alten urls mit 301 auf die neuen urls umleiten.

    Leider erzeugt die vBulletin htaccess immer einen "/index.php?routestring=" hinter der baseurl und vor dem eigentlichen Pfad.

    Kann hier jemand helfen, wie ich eine bzw. 20 Weiterleitungen einfügen kann ohne das "/index.php?routestring=" dazwischen funkt?

    Es soll zum Beispiel von "https://beispiel.rocks/...de/fragen-u…n/expertenforum" auf "https://beispiel.rocks/...de/allgemeines-forum/expertenforum".
    Mit dem folgenden code funktioniert es ja, aber es wird immer über "/index.php?routestring=" geleitet.

    Apache Configuration
    RewriteRule ^(.+)/fragen-und-antworten/(.+)$ https://beispiel.rocks/beispiel.rocks/%{HTTP_HOST}/$1/allgemeines-forum/$2 [R=301,L]
    Zitat

    Leider sind die 20 Urls nicht wirklich über eine Regel abzufangen, da diese alle individuell sind und keine nodeid enthalten. Daher auch noch die Frage ob eine gewisse Anzahl von Regeln nicht über schritten werden darf, oder es zu Verzögerungen beim Laden kommen kann.

    Kann das irgendwie abgefangen werden?
    Ich habe bereits versucht die RewriteRule an verschiedenen Stellen einzufügen, was aber auch nicht hilft bzw. wenn diese unten angehangen wird funktioniert es überhaupt nicht mehr.

    Die .htaccess siht wie folgt aus:

  • 20 Sachen sollen weitergeleitet werden oder soll eine allgemeine Rule gemacht werden?
    Also bei 20 reicht ja schon ein normaler 301, oder?

    Ansonsten weiss da [USER="98"]Synonym[/USER] sicherlich was drüber, der hatte das damals für das SEO NW Forum gemacht. Soweit ich weiss mussten alle.. 301 halbautomatisch erstellt werden. und das waren nicht nur 20, sondern sehr viel mehr...

    wenn etwas möglich erscheint mach ich das, wenn das nicht klappt gehts ans unmögliche und ansonsten das undenkbare.

    - nun stolz rauchfrei - Ich denke also Bing ich!

    Support 24h Bereitschaft 0173 6107465 - NUR Für Kunden von SEO NW!

  • Schon mal vielen Dank für die Antwort.
    Es sollen ca. 20 einzelne/ individuelle Urls auf 20 neue individelle Urls per normale 301 umgeleitet werden. Also reicht. Es können aber ggf. auch noch weitere folgen.
    Da es sich um individuelle URLs ohne ID handelt, kann leider keine Regel bzw. Condition für alle erstellt werden.

    Es soll in der URL nur ein String durch einen anderen String ersetzt werden. Die im ersten Beitrag angegebene Regel macht das auch für alle Beiträge in der Kategorie "fragen-und-antworten". Leider wird hier immer der Routestring-Teil mit in die URL gestellt, da die umgeleitete URL über die index.php geleitet wird.

    Ich werde [USER="98"]Synonym[/USER] mal eine PM mit einer Liste der URLs zukommen lassen.
    Vielleicht kann er ja helfen.

  • Ach nee da brauchste den gar nicht fragen. Das ist einfach...

    Code
    Redirect 301 /alter-pfad/ https://beispiel.rocks/beispiel.rocks/deinedomain.de/neuer-pfad/

    das schreibste einfach hinter:

    Apache Configuration
    #RewriteCond %{HTTPS} !=on     #RewriteRule .* https://beispiel.rocks/%{SERVER_NAME}%{REQUEST_URI} [R=301,L]

    wenn etwas möglich erscheint mach ich das, wenn das nicht klappt gehts ans unmögliche und ansonsten das undenkbare.

    - nun stolz rauchfrei - Ich denke also Bing ich!

    Support 24h Bereitschaft 0173 6107465 - NUR Für Kunden von SEO NW!

  • Ganz so einfach ist das leider anscheinend nicht.
    Da hatte ich die RewriteRule auch schon stehen. Leider wird trotzdem das "/index.php?routestring=" in die URL eingestrickt.

    Apache Configuration
    RewriteRule ^(.+)/fragen-und-antworten/(.+)$ https://beispiel.rocks/beispiel.rocks/%{HTTP_HOST}/$1/allgemeines-forum/$2 [R=301,L]

    Vielleicht war meine Aussage auch nicht komplett korrekt. Also die individuelle Domain enthält dann auch noch folgende Strings, welche ebenfalls mit abgefangen werden. Daher ja auch die RewriteRule von oben, wo auch die nachfolgenden Strings (bleiben gleich mit abgefangen werden.

    Die Forumkategorie war vorher /fragen-und-antworten/ und ist nun /allgemeines-forum/. Diese enthält auch noch Beiträge (strings), welche nun an /allgemeines-forum/ angehangen werden.

    Wie geschrieben, werden die URLs alle an die "https://beispiel.rocks/....de/index.php?routestring=/allgemeines-forum/..." weitergeleitet. Ich würde aber gerne "https://beispiel.rocks/....de/allgemeines-forum/..." erhalten.

    Edit: Ok, habe verstanden! Vergess das von oben :)
    Das sieht schon besser aus!

    Vielen Dank schon mal für die überragende und schnelle Hilfe!
    Ich habe auch URls, welche Sonderzeichen enthalten (z.B. %C3%A3%C2%BC ... %C3%A3%C2%BC ... ã%C2%BC ... ã%C2%BCh), kannst Du mir dabei auch helfen?

  • Hmm da kennt Syno sich am besten mit aus...

    Geht vielleicht das hier?:

    Apache Configuration
    RewriteRule ^verzeichnis/(.*)$ /anderes-verzeichnis/$1 [R=301,L]

    wenn etwas möglich erscheint mach ich das, wenn das nicht klappt gehts ans unmögliche und ansonsten das undenkbare.

    - nun stolz rauchfrei - Ich denke also Bing ich!

    Support 24h Bereitschaft 0173 6107465 - NUR Für Kunden von SEO NW!

  • Werde ich mal versuchen. Vielen Dank schon mal für deine Hilfe.

    Bevor ich mich wieder tot google noch eine Frage:

    Apache Configuration
    RewriteRule ^(.+)/laberecke(.+)$ https://beispiel.rocks/beispiel.de/forum/allgemeines-forum/plauderecke$2 [R=301,L]

    Die RewriteRule oben funktioniert nicht, wenn die alte URL "https://beispiel.rocks/beispiel.de/fo…forum/laberecke" lautet.
    Erst wenn hinter dieser ein / (https://beispiel.rocks/beispiel.de/fo…orum/laberecke/) steht greift die Regel. Kann man daran was ändern? Evtl. über eine condition oder so?

  • Also ich denke, bei Dir ist da etwas mehr der Wurm drinnen, wenn da "Routestring" ist der sichtbaren URL erscheint. Kann eigentlich nämlich nicht sein, denn dieser Codeblock ist nur eine interne Adressänderung. Wenn Routestring aber in der URL erscheint, dann war das quasi schon vor Deinem 301 vorhanden und $1 hat es einfach übernommen.

    Schaut also sehr danach aus, dass Deine Rule beim ersten Zugriff nicht greift, die htaccess dann den String mit Routestring bildet (braucht das Forum auch, aber eben intern) und dann beim nächsten htaccess-Durchlauf Deine 301-Rule den Routestring-String neu zusammenbaut und den 301 ausführt.

    Letzte Frage. Klar geht das nicht, denn Du verwendest als Bedingung /laberecke(.+).... beachte da das .+, welches bedeutet, es muss noch min. ein Zeichen kommen. Entscheidend ist hier das +. Was Du suchst ist ein (.*). Der Stern besagt, es kann noch beliebig was kommen, es muss aber nicht.

    Wenn ein Mensch nicht um dich kämpft, hat er nur gewartet, dass du gehst. ;(

  • Wegen den Sonderzeichen in der Rule, also der Ausgangsseite. Die Prozentzeichen sind geschützt und bedeuten in der Rule was ganz anderes.

    Der Apache kennt also kein "%C3%A3", das muss maskiert werden in "\xC3\xA3". Aus einem %, das als Zeichen gedacht ist, muss also ein \x werden.

    Wenn ein Mensch nicht um dich kämpft, hat er nur gewartet, dass du gehst. ;(

  • Auch ein Dank an Dich.
    Dieses routesting wird bei der im Beitrag 7 genannten Variante schon nicht mehr mit übermittelt.
    Und die URL .../laberecke funktioniert nun auch! Das hat mich Stunden nach vorne gebracht! Ein dickes Dankeschön!

    Ich vermute die Sonderzeichen bekommt er bei korrekten Kategorien auch umgesetzt.
    Sollte ich noch Probleme haben weiß ich ja wo die Experten sitzen.

    Es kommt definitiv eine kleine Spende an euch!

  • Uiii, können wir Tauschen? Ein Bitcoin gegen einen Link :pfeif:
    Wo soll denn ein solcher Link hin? Also meinst Du ein Link von SEO-NW auf so eine Art Partner-Seite? Oder ein Link hier im Forum? Stehe gerade etwas auf dem Schlauch :pieks: