malnefrage.de
malnefrage.de
Facebook
Twitter
E-Mail
Bookmark
weitere
Ratgeber-Community für Fragen & Antworten:
Forum mit Tipps, Hilfe und Ratschläge
Forum Frage stellen! Neue Fragen Neue Antworten Login
Frage
Frage
von glitsch am 18.04.2019, 14.02 Uhr

Mehrere Slashes in einer URL per .htaccess entfernen?

Ich möchte mehrere Slashes beim Aufruf meiner Webseite aus der URL entfernen. Dies soll per mod_rewrite über eine .htaccess Datei erfolgen. Wie kann ich beim Aufruf meiner Webseite alle doppelten oder mehrfach vorkommenden Slashes automatisch aus der URL entfernen?

Beispiel:

Wenn jemand meine Seite mit der falschen URL aufruft ...
https://www.meine-domain.de///verzeichnis//unterverzeichnis/////
.. dann soll per mod_rewrite die richtige URL ausgegeben werden
https://www.meine-domain.de/verzeichnis/unterverzeichnis/
Was muss ich in der .htaccess Datei notieren, damit die URL korrekt umgeschrieben wird?

Folgendes habe ich schon versucht. Hier mal ein Auszug aus meiner .htaccess
#mehrere Trailing Slashes am Ende cutten
RewriteCond %{REQUEST_URI} ^(.*)//(.*)$
RewriteRule . %1/%2 [R=301,L]

#mehrere Trailing Slashes nach der Domain und in der Domain cutten
RewriteCond %{THE_REQUEST} ^[A-Z]{3,9}\ //+([^\ ]*)
RewriteRule .* https://www.meine-domain.de/%1 [R=301,L]
Leider funktioniert dies nach der Umstellung meiner Domain auf https nicht mehr. Woran kann das liegen? Wer kann mir sagen wie es funktioniert?

Antwort
Hilfreichste Antwort - ausgezeichnet vom Fragesteller
von phpbuddy am 18.04.2019, 14.45 Uhr
Hi, versuch mal folgende Condition per Mod Rewrite in der htaccess ..
RewriteCond %{THE_REQUEST} //
RewriteRule ^.*$ $0 [R=301,L,NE]
Sollte alle mehrfach vorkommenden Slashs beim Aufruf einer URL entfernen.
Kommentar von glitsch am 08.05.2019, 15.26 Uhr
Danke funktioniert.

Wie kann ich aber eine bestimmte URL von der Rule ausnehmen?
Über ein externes Script wird folgende URL aufgerufen, diese möchte ich von der Regel ausnehmen.

Bsp: Beim Aufruf folgender URL wird der GET-Paramter nicht mehr korrekt weitergeben und das Script funktioniert nicht mehr.
/jqsucheint.php?url=http://www.domain.de/script.php


Antwort
Antwort
von CCmqt am 18.04.2019, 14.05 Uhr
Ich habe gerde mal in meine htaccess geschaut, bei mir funktioniert es so, auch mit https
RewriteCond %{REQUEST_URI} ^(.*)/{2,}(.*)$
RewriteRule . %1/%2 [R=301,L]
Kommentar von glitsch am 18.04.2019, 14.20 Uhr
Danke aber funktioniert leider nicht.
Die Regel greift nicht. Woran könnte es liegen?
Meinst du nicht dass es mit der Umstellung auf https zu tun hat?
Kommentar von CCmqt am 18.04.2019, 14.38 Uhr
Nein, bei mir funktioniert diese Rule und meine Seiten werden auch per HTTPS vom Apache ausgeliefert.
mehr Fragen ...

Die auf malnefrage.de veröffentlichten Fragen und Antworten sind Meinungsäußerungen der jeweiligen User. Da die Aussagen nicht geprüft werden, kann die Richtigkeit der Inhalte nicht gewährleistet werden.