htaccess, Trailing Slashes und 404 Seiten

  • Hallo zusammen,


    eine etwas allgemeine Frage:


    Ich leite meine Seiten mit der htaccess Zwecks der Trailing Slashes per 301 um:


    Apache Configuration
    RewriteCond %{REQUEST_FILENAME} !-d
    RewriteRule ^(.*)/$ /$1 [L,R=301]


    Leider werden auch nicht existente - also 404 Seiten - zuerst mit einer 301 Umgeleitet. Das ist nicht schick und wird auch von allen SEO Tools angemeckert.


    Kann ich die Cond vorher auf existierende Seiten einschränken?


    Danke schonmal

  • Google empfiehlt u.a., neben "lass es wie es ist, ist kein großes Drama", ein Canonical zu verwenden.


    Wenn sonst nichts im Joomla Canonicals schreibt (= wäre konfliktträchtig) vielleicht in der "echten" Template-Datei entsprechender Code, aber nicht in der error.php.


    Oder System-Plugin, dass dann ähnlich dem Rewrite-Plugin ermittelt, ob der Header eine 404 ist (= nix tun).


    Pure Theorie.


    Generell ungut, egal, wo in Joomla, jede URL muss geprüft werden, bspw. mit JUri.

  • Hmm. An das Canonical habe ich in diesem Zusammenhang noch gar nicht gedacht. Leider liefert mir Joomla mit und ohne Slash zwei verschiedene Base Pfade. Zu den Strichen gab es ja mal diese Aussage. Das bedeutet ab dem ersten "Ordner" ist für Google der Slash entscheidend. Dann schau ich mal ob ich was finde.


    Vielen Dank


    PS: Ich hoffe mal diese ganzen URL und Routing Geschichten werden in der V4 besser. :)

  • Leider liefert mir Joomla mit und ohne Slash zwei verschiedene Base Pfade

    Deswegen mein Hinweis auf JUri.

    Nicht groß getestet und exakt so abgeschrieben nur für die Template-index.php, wenn man die ODER-Variante verwendet:

    Und, wenn du auch die Startseite haben willst (eigentlich nicht nötig, laut Google), lässt halt

    Code
    $juri->getPath() !== '/' &&

    weg.


    Das ODER-Ergebnis:


  • PS: Ich hoffe mal diese ganzen URL und Routing Geschichten werden in der V4 besser.

    Teste halt Joomla 4, dann kannst rechtzeitig meckern gehen. Downloads des täglichen Standes:

    https://developer.joomla.org/nightly-builds.html


    Mit dem "custom update server"-Url, den man unter Joomla-Update > Optionen einträgt, kann man dann via Joomla-Update > Check for Updates-Klick > Tabulator "Live Update" täglich das neue Nightly nachziehen. Ohne Gewähr allerdings.


    Gemecker über das unhandliche und teils schon ewig verbuggte Backend-Template kann man sich aber mehr oder weniger sparen.