Zur Navigation

Index.php mit htaccess Datei umleiten ohne Index.php [2]

11 Jörg Kruse

OK, also funktioniert mod_rewrite grundsätzlich und Direktiven in anderen .htaccess Dateien funken nicht dazwischen.

RewriteRule ^(.+/)?index\.(html?|php)$ https://%{HTTP_HOST}/$1 [R=301,QSA,L]

Damit leitest du wie gesagt nur URLs weiter, die auf index.php oder index.html enden. Bei deinen Beispielen hängt hinten aber noch ein Slash ("/") dran:

Ich habe eine Seite mit dem Strato-Baukasten gebaut und möchte alle Unterseiten, die auf index.php/ enden auf die Seiten ohne index.php/ weiterleiten.

Also musst du in den Ausdruck auch noch ein / vor dem $ einfügen:

RewriteRule ^(.+/)?index\.(html?|php)/$ https://%{HTTP_HOST}/$1 [R=301,QSA,L]

Falls der Slash optional sein soll, dann ein /?

RewriteRule ^(.+/)?index\.(html?|php)/?$ https://%{HTTP_HOST}/$1 [R=301,QSA,L]

Testweise kannst du die RewriteBase Direktive weglassen oder mit einem # davor deaktivieren:

#RewriteBase /

Je nach Webhoster kann diese Direktive zwingend notwendig sein oder im Gegenteil Probleme bereiten

... und falls auch das nicht funktioniert, bitte beschreiben, was das genau bedeutet:

wird die Seite normal aufgerufen, ohne dass weitergeleitet wird?

oder passiert etwas anderes, was nicht passieren sollte (leere Seite, Fehlermeldung, Weiterleitung auf unerwünschte URL, ...)?

Dieser Abschnitt hat mit der Weiterleitung von /index.php auf / übrigens nichts zu tun, den hatte Detlef333 nur zusätzlich in seiner .htaccess Datei stehen, um auf https://www. weiterzuleiten:

RewriteCond %{HTTPS} !=on [NC,OR]
RewriteCond %{HTTP_HOST} !=www.meineurl.de [NC]
RewriteRule ^(.*)$ https://www.meineurl.de/$1 [R=301,L]

04.09.2018 11:38

Beitrag schreiben (als Gast)

Die Antwort wird nach der Überprüfung durch einen Moderator freigeschaltet.





[BBCode-Hilfe]