Zur Navigation

Per .htaccess jegliche Aufrufe eines Unterordners weiterleiten

1 sabekis

Ich bin kein Programmierer, aber ich würde gerne wissen, ob es grundsätzlich möglich ist, dass man per .htaccess jegliche Aufrufe eines bestimmten Unterordners, also alles was mit https://www.domain.de/fileadmin/ beginnt, auf eine bestimmte URL bzw. die Startseite https://www.domain.de/ weiterleiten kann.

Das müsste also bei den Beispielen https://www.domain.de/fileadmin/_processed_/csm__c__Claas_Sengler___Hund__7a89929fc5.jpg oder https://www.domain.de/fileadmin/_processed_/ab/xyz.html greifen.


Darüber hinaus habe ich noch URLs mit Parametern, funktioniert so eine Umleitung damit auch? Alle URLs, die beginnen mit: http://www.domain.de/start/click.system? sollen immer auf https://www.domain.de umleiten.

Die Regel müsste also für diese Beispiele greifen: http://www.domain.de/start/click.system?lang=en&sid=2CInucST13Kk5DPUEUYJGWO4l0TbVIzJ oder http://www.domain.de/start/click.system?lang=en&sid=2CInucST13Kk5DPUEUYJGWO4l0TbVIzJ oder http://www.domain.de/start/click.system?act=lang&lang=en&sid=JGVDy1TeuRfIYRCq01FR2KXpmCF6QN5f


Vielen Dank für Eure Hilfe!

02.02.2024 12:35

2 Jörg Kruse

Du kannst mit mod_rewrite eine Regel (RewriteRule) definieren, dass auf die Startseite der Beispiel-Domain example.com weitergeleitet wird, wenn der Pfad nach dem ersten Slash mit "fileadmin/" beginnt:

RewriteEngine on

RewriteRule ^fileadmin/ https://example.com/ [R=301,L]

Darüber hinaus habe ich noch URLs mit Parametern, funktioniert so eine Umleitung damit auch? Alle URLs, die beginnen mit: http://www.domain.de/start/click.system? sollen immer auf https://www.domain.de umleiten.

Du kannst in einer Bedingung (RewriteCond) überprüfen, dass der sogenannte Query String, welcher die Parameter enthält, nicht leer ist:

RewriteEngine on

RewriteCond %{QUERY_STRING} !^$
RewriteRule ^start/click.system$ https://example.com/?  [R=301,L]

An die Ziel-URL in der RewriteRule hängst du dabei noch ein ?, um zu verhindern, dass der alte Query String wieder an die Ziel-URL angehängt wird.

02.02.2024 13:15 | geändert: 02.02.2024 13:17

3 sabekis

Super, vielen Dank! Also funktioniert das grundsätzlich. Schon mal gut zu wissen!

Welche Rolle spielt bzw. welchen Unterschied macht .*$ in dieser Regel gegenüber deinem Vorschlag?

RewriteEngine On
RewriteRule ^fileadmin/.*$ https://www.saechsische-schweiz.de/ [R=301,L]

02.02.2024 13:40

4 Jörg Kruse

Der Ausdruck ".*" kann kein bis mehrere beliebige Zeichen umfassen. Das "$" ist in diesem Fall das hintere Begrenzungszeichen - das heißt, danach können keine weiteren Zeichen mehr kommen. Beides ist in diesem Fall unnötig: wenn hinten kein "$" steht, können beliebige Zeichen folgen, dafür braucht es das ".*" nicht; und dass der String dann irgendwo ein Ende hat, versteht sich auch von selbst :)

02.02.2024 14:32

Beitrag schreiben (als Gast)

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





[BBCode-Hilfe]