RewriteRule Probleme bei Übernahme von Typo3 URL´s

  • Ich bin zur Zeit damit beschäftigt die Webseite unsere Vereins von Typo3 nach Joomla umzubauen. Dadurch ändern sich die URL jetzt versuche ich die alten auf die neuen über die htaccess umzuleiten. Lande aber egal welche Schreibweise ich versuche immer auf der Startseite.

    Eine error.php habe ich im Templateordner unbenannt. Vielleicht hat jemand einen Denkanstoß für mich.


    die alte URL: index.php?id=11

    die neue URL: erste-manschaft/spieltag-01.html [R=301,L]


    Joomla Version ist die 3.9.1 - hataccess original Joomla ohne Änderungen - PHP Version 7.2

  • Hallo JKusber,

    die htaccess ist unbenannt. Mit original meinte ich nur das keine Änderungen des Inhaltes mit Ausnahme der 301 Weiterleitung eingefügt worden.


    Ich habe dank Die und Google folgend Schreibweisen probiert:


    Redirect 301 /index.php?id=11/ http://example.org/erste-manschaft/spieltag-01.html
    RewriteRule index.php?id=11 http://example.org/erste-manschaft/spieltag-01.html [R=301,L]
    Redirect 301 /index.php?id=11/ erste-manschaft/spieltag-01.html
    RewriteRule index.php?id=11 erste-manschaft/spieltag-01.html [R=301,L]
    RewriteRule ^index.php?id=11/?$ /erste-manschaft/spieltag-01.html/ [R=301,L]


    Mit einer Ausnahme die in einem Error 500 endet lande ich immer auf der Startseite habe aber /index.php?id11 in der URL.


    Vielleicht noch jemand eine Idee für mich?

  • Nur um zunächst sicher zu gehen:

    Wo hast du denn in der Backend-Konfiguration für die SEO-Einstellungen alles einen Haken gesetzt?

    Und nutzt du einen Apache-Server?


    Bzgl. .htaccess kenne ich mich nicht wirklich aus, könnte mir aber vorstellen, dass man das aufgrund von id=... irgendwie mittels query_string machen muss?!?


    RewriteCond %{QUERY_STRING} ......

    RewriteRule ......

  • Hallo JoomlaWunder,


    Jepp es läuft ein Apache.

    Die SEO - Einstellungen sind aktiviert für:

    Suchmaschinen-freundliche URL

    URL-Rewrite nutzen

    Dateiendung an URL anfügen


    Ich habe auch die Vermutung das ich da mit irgendeinem query_string ran muss - nur habe ich davon überhaupt keinen Plan.

    Was dafür sprechen könnte wäre wenn ich http://example.org/index.php?id=11 oder eine andere ID versuche auf der Startseite lande mit der entsprechenden URL im Browser.

    Wenn ich aber http://example.org/irgendetwas-zum-test.html versuche bekomme ich den Error 404 und lande nicht auf der Startseite.

  • So funktionierts auf meiner Testseite:

    Code
    1. RewriteCond %{REQUEST_URI} ^\/index\.php$
    2. RewriteCond %{QUERY_STRING} ^id=11$
    3. RewriteRule .* /erste-manschaft/spieltag-01.html? [R=301,L]

    Wenn Uri exakt gleich "/index.php",

    UND exakt Query-String (der Teil hinter dem Fragezeichen in der URL) gleich "id=11" (nicht mehr und nicht weniger),

    dann leite um und entferne den Query-String (das ist die Magie des Fragezeichens hinter dem "html").

    Wenn der Querystring nicht entfernt wird, interpretiert den Joomla ggf. als irgendwas anderes. Z.B. eine Kategorie-ID. Muss nicht, kann aber.


    Möglichst früh in der htaccess setzen, damit keine Joomla-Regeln oder sonstige irgendwas damit anstellen können.


    EDIT: Und verwendet doch bitte den Code Button im Editor für Codes. Seht ja selber, dass man das bei Euch kaum lesen kann...

  • Und die "einfachen" Redirect-Regeln sind generell mit äußerster Vorsicht zu genießen. Noch dazu, wenn viele verwendet werden. Weil sie nicht exakt matchen. Und die richtige Reihenfolge einen dann zum Wahnsinn treiben kann.


    Aber sie können sehr praktisch sein, wenn sich bspw. nur ein Ordner mit pdfs geändert hat. Ein Typo3 -> Joomla-Beispiel:

    Code
    1. Redirect permanent /fileadmin/opitz/Literaturliste/ /images/opitz/Literaturliste/

    Und weil es eben nicht exakt matcht, werden auch Unterordner gleich berücksichtigt.


    Ein altes

    Code
    1. /fileadmin/opitz/Literaturliste/fritzilein/lampe.pdf

    findet damit sein neues Ziel, obwohl /fritzilein/ in der Regel nicht enthalten

    Code
    1. /images/opitz/Literaturliste/fritzilein/lampe.pdf