Hallo Olaf,
erst einmal auch von mir ein riesiges Dankeschön für diese ausgezeichnete Ausführung/Anleiung/Lösung!
Bis auf einen kleinen, aber wesentlichen Teil funktioniert das auf meinem Webspace bei 1&1 auch so.
Wie problematisch das mit index.php ist, kann ich nicht einschätzen. Aber auf jeden Fall ist es möglich und es sollte daher, aus meiner Sicht, ausgeschlossen werden.
Mit einer weiteren Regel in der htaccess kann man index.php aus der URL entfernen. (auch hier wieder der Unterschied http oder https, entsprechend die # entfernen!)
Code: Select all
# index.php wir aus URL entfernt
#RewriteRule ^([a-z]?[a-z]?/?)index\.php$ http://%{HTTP_HOST}/$1 [R=301]
#RewriteRule ^([a-z]?[a-z]?/?)index\.php$ https://%{HTTP_HOST}/$1 [R=301]
# Ende index.php wir aus URL entfernt
Gruss Olaf
Die Google Webmastertools zeigen mir täglich nicht gefundene Seiten mit index.php und dahinter noch /?Seitenname, viele auch als /index.php/en/en/?Seitenname, deshalb musste ich am folgenden Teil Deiner Lösung noch etwas experimentieren. Dabei kam dies heraus, was schon gut funktioniert:
Code: Select all
# index.php aus URL entfernen
RewriteRule ^([a-z]?[a-z]?/?)index.php/([a-z]?[a-z]?/?)$ https://%{HTTP_HOST}/$1 [R=301,L]
# Ende index.php aus URL entfernen
Leider kenne ich mich mit den Parametern von RewriteRule nicht aus, habe nirgendwo eine Erklärung des Strings ([a-z]?[a-z]?/?) finden können, er deckt aber wohl einfach die Suche nach allen möglichen Zeichenfolgen ab. Besonders interessiert mich hier noch die Bedeutung des Teils "?/?", steht wohl als Trennzeichen in der URL, blöd ausgedrückt?
Jedenfalls wurden bei mir ohne obige Modifikation URLs mit beispielsweise
https://sinnvoll-online.info/?index.php/?Mobilfunk nicht umgeleitet zu
https://sinnvoll-online.info/?Mobilfunk.
Stattdessen wurde die Seite ohne Hintergrundgrafik und Seitenformatierung geladen, sieht dann so aus wie von einem Proxy verunstaltet oder als wenn eine miserable Internetverbindung erstmal nur den Verzeichnisbaum ähnlich der Sitemap übertragen hätte.
Wo der Crawler die index.php-Seiten überhaupt ausgräbt, weiß ich nicht genau, aber da ich auch noch alte Websites habe, deren Inhalte (fast fertig) umgezogen sind und die lange bei Google WMT angemeldet waren, vermischt Google vielleicht noch eine Weile die URLs.
Das dürfte sich aber dank des o. zitierten Codes bald erledigt haben.
Wenn meine Modifikation noch Fehler enthält oder noch viel besser gelöst werden kann, bin ich für Verbesserungsvorschläge dankbar!