vBulletin 5 RewriteRule 301

  • Was wir und uns auch noch mal ansehen sollten sind die Weiterleitungen.

    Derzeit im Index ist:
    /
    /forum
    /alt

    Wobei /forum an /alt weitergeleitet wird.

    Auch zu beachten ist das alte /forum.php, das derzeit auch an /alt weitergeleitet wird.

    Das macht so nicht viel Sinn, das sollte alles an / geleitet werden. Wenn das nicht geht, dann zumindest an /forum, denn das ist ohnehin Bestandteil der Foren-URLs.

    Ist meine .htaccess von Dir erstellt worden? Da ist nämlich auch was drinnen, was so nicht passen kann.

    Code
    Redirect permanent /forum/index https://seo-nw.de/forum.php


    Das liefert bei Dir auf der Domain einen 404 mit "?routestring=forum/index"

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

  • ja, die htaccess ist wohl von mir ( ne ältere.. )
    ich habe Probleme mit /forum /alt
    wenn ich die umleite kommt der routestring.
    forum.php wird auch umgeleitet. wird die rule aktiv, kommt der routestring. wusste gar nicht das da auch nen 404 ausgegeben wird.
    forum/index war noch von Kunena, die wollte ich auch umleiten.

    Leider weiss ich nicht wie man das machen kann, wenn ich "alt" umleite auf / kommt der routestring. hab ich ja schon mit /forum probiert. ahhh, Idee...

    Bin da über was gestolpert. Guck mal deine htaccess an, da steht auch irgendwas drinne mit routestring. kann das daran liegen? oder muss man evtl an anderer Stelle die rules machen ( zb nach dem routestring.. ?

    Hab die Redirects VOR dem routestring Eintrag.

    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!

  • Ja, das habe ich mir schon angesehen...

    Apache Configuration
    # Main Redirect
        RewriteCond %{REQUEST_URI} !\.(gif|jpg|jpeg|png|css)$
        RewriteCond %{REQUEST_FILENAME} !-f
        RewriteCond %{REQUEST_FILENAME} !-d
        RewriteRule ^(.*)$ index.php?routestring=$1 [L,QSA]

    Da aber überall ein [L] ist, ist es sogar wichtig, dass andere Umleitungen vorher passieren. Dann wird quasi erst umgeleitet von a nach b und dann der Rest der htaccess bearbeitet. Wenn die Rules vorher stehen, dann macht die Weiterleitung der Apache selbst. Das Forum bekommt davon gar nichts mit und kann daher auch gar nichts selbst prüfen oder Weiterleiten. Alles was vorher "abgefangen" wird, kommt erst gar nicht bis zum "routestring".

    Schreibe mal das bei Dir mit rein.

    Weiterleitung der alten /forum.php an / inkl. Begrenzung für Text-Query

    PHP
    RewriteCond %{QUERY_STRING} rwtest1
    RewriteRule ^forum\.php$ / [R=301,L]

    Weiterleitung der /forum an / inkl. Begrenzung für Text-Query

    PHP
    RewriteCond %{QUERY_STRING} rwtest2
    RewriteRule ^forum$ / [R=301,L]

    Weiterleitung der /alt an / inkl. Begrenzung für Text-Query

    PHP
    RewriteCond %{QUERY_STRING} rwtest3
    RewriteRule ^alt$ / [R=301,L]

    .

    Am besten zwischen

    Apache Configuration
    RewriteCond %{HTTP_HOST} ^([^.]+)\.seo-nw\.de$ [NC]
    RewriteRule ^(.*)$ https://seo-nw.de/$1 [R=301,L]


    und

    Code
    #RewriteBase /

    Da sollte eigentlich nichts passieren, da es über den Querystring "abgesichert" ist.

    Das andere ist der Link "Forum" oben in der Krumen-Navi. Wenn man den nicht gänzlich auf / umbiegen kann, dann sollte der zumindest /forum sein, denn das ist eben der Pfad der Foren und aller Threads.

    Ach ja, wenn Du da noch andere Modifikationen drinnen hast, außer der Liste von mir, dann nenne die mal bitte.

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

  • Ok, muss mir erst die PM ansehen, eben erst bemerkt. Ist schon doof, wenn es da keine Benachrichtigung gibt und man den Button nicht sieht, weil man unten tippt.

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

  • ok, ich tippsel hier jetzt einfach mal so...

    Alles oberhalb von

    Apache Configuration
    RewriteCond %{HTTP_HOST} ^([^.]+)\.seo-nw\.de$ [NC] RewriteRule ^(.*)$ https://seo-nw.de/$1 [R=301,L]


    passt.

    Das Redirect permanent /forum/index https://seo-nw.de/forum.php würde ich aber raus nehmen, wenn man das nicht mehr unbedingt braucht. "Redirect" und "RewriteRule" zusammen behindern sich oft.

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

  • Nur, woher kommt nun die Weiterleitung von /forum nach /alt und die von /forum.php nach /alt?

    In der htaccess sind die ja nicht. Hast Du die als "Route" in vBulletin selbst angelegt?

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

  • Du sagtest was von Endlosschleifen. Wo waren die? Auf der Startseite? Kannst Du mal schauen, ob die nun immer noch bei Dir sind? Einfach den Textstring als Query anhängen.

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

  • jein. vorher war es /forum.php die leitete Standardmässig ( VB intern ) nach /forum um. Dann hab ich mir gedacht ich leite die per redirect um. Klappte nicht, da kam der intene router. Dann habe ich dsa testweise mal "alt" genannt, ist jetzt immer noch so.

    Weiss nicht wie man das anders machen kann. am liebsten wäre mir ein / , das geht vielleicht nicht. Du hast ja als Admin oben den Seiteneditor, da kannste für jede Seite den Pfad angeben, allerdings nicht doppelt ( wäre ja blöd ) allerdings scheint das irgendwie geschützt zu sein, wie ich das gemacht habe? Ich glaube mit permanent redirect, vielleicht ist das der fehler.

    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!

  • die war bei /forum oder /forum.php weiss nimmer. Dachte es wäre eine aufgelöste Schleife von VB, da er auf routestring zugriff. Vielleicht hab ich mich falsch ausgedrückt.

    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!

  • Also wenn das mit "Permanent Redirect" gewesen war, dann kann das gut sein, denn der bricht die Verarbeitung nur bedingt ab. Kann also sein, dass das gegriffen hat, aber dann dennoch in die Route gelaufen ist. Dieser routestring von vBulletin 5.1 ist im Grunde ja nichts anders als die in der Datenbank hinterlegte Permalinkstruktur von Wordpress. Wenn es da mehrere sich gegenseitig bedingende Anweisungen gibt, dann Endlosschleife. Wenn es die Route gar nicht gibt, dann steht die in der URL und es gibt dennoch einen 404.

    Mach mal einen Schritt mehr. Kommentiere mal vom ersten Anweisungsblock die Cond aus, also die da:
    RewriteCond %{QUERY_STRING} rwtest1

    Im Test hat es ja funktioniert, also geh mal live damit.

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

  • hmm hab überall die cond auskommentiert. klappt doch .. was soll ich denn noch ändern?

    PHP
    #RewriteCond %{QUERY_STRING} rwtest3
    RewriteRule ^alt$ / [R=301,L]  
    
    
    #RewriteCond %{QUERY_STRING} rwtest2
    RewriteRule ^forum$ / [R=301,L]  
    
    
    #RewriteCond %{QUERY_STRING} rwtest1
    RewriteRule ^forum\.php$ / [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!