Benutzer-Werkzeuge

Webseiten-Werkzeuge


webserver:htaccess

.htaccess

RewriteCond / RewriteRule

Voraussetzungen für Redirects:

  1. Apache-Modul mod_rewrite aktiviert
  2. RewriteEngine On

Weiterleitung auf HTTPS und ggf. www-Domain

In mehreren Zwischenschritten:

# First rewrite to HTTPS:
# Don't put www. here. If it is already there it will be included,
# if not the subsequent rule will catch it.
RewriteCond %{HTTPS} off
RewriteRule .* https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]
 
# Now, rewrite any request to the wrong domain to use www.
# [NC] is a case-insensitive match
RewriteCond %{HTTP_HOST} !^www\. [NC]
RewriteRule .* https://www.%{HTTP_HOST}%{REQUEST_URI} [L,R=301]

Quelle: https://stackoverflow.com/a/13997498/5157290


Weiterleitung von alter Domain auf neue Domain

Mit der folgenden Anweisung wird dabei die bisherige Subdomain beibehalten.

  • www.altedomain.de → www.neuedomain.de
  • shop.altedomain.de → shop.neuedomain.de
RewriteCond %{HTTP_HOST} ^(.*)altedomain.de [NC]
RewriteRule ^(.*)$ https://%1neuedomain.de/$1 [R=301,L]

Teilpfad ersetzen

Hiermit kann ein URL-Pfad teilweise ersetzt werden.

URL: https://www.domain.de/hilfe/restlicher/pfad/
Ziel: https://www.domain.de/support/restlicher/pfad/

RedirectMatch 301 /hilfe/(.*) /support/$1

Einzelne Seiten / URLs weiterleiten

Redirect 301 /bisheriger/pfad/ https://www.domain.de/neuer/pfad/

Datumsfilter mit Monatsnamen weiterleiten

Mit dem folgenden Abschnitt lassen sich URLs mit Datumsfilter, z.B. für Newsbeiträge, umleiten. Mit dem regulären Ausdruck ([0-9]{4}) wird die gegebene vierstellige Jahreszahl an die Variable $1 übergeben.
Außerdem werden in den neuen URLs die Monatsnamen ausgeschrieben.

Beispiel:
URL: https://www.domain.de/alte-artikel/rueckblick/dateFilter/2019/03/
Ziel: https://www.domain.de/artikel/2019/maerz/

RedirectMatch 301 /alte-artikel/rueckblick/dateFilter/([0-9]{4})/01/ /artikel/$1/januar/ 
RedirectMatch 301 /alte-artikel/rueckblick/dateFilter/([0-9]{4})/02/ /artikel/$1/februar/ 
RedirectMatch 301 /alte-artikel/rueckblick/dateFilter/([0-9]{4})/03/ /artikel/$1/maerz/ 
RedirectMatch 301 /alte-artikel/rueckblick/dateFilter/([0-9]{4})/04/ /artikel/$1/april/ 
RedirectMatch 301 /alte-artikel/rueckblick/dateFilter/([0-9]{4})/05/ /artikel/$1/mai/ 
RedirectMatch 301 /alte-artikel/rueckblick/dateFilter/([0-9]{4})/06/ /artikel/$1/juni/ 
RedirectMatch 301 /alte-artikel/rueckblick/dateFilter/([0-9]{4})/07/ /artikel/$1/juli/ 
RedirectMatch 301 /alte-artikel/rueckblick/dateFilter/([0-9]{4})/08/ /artikel/$1/august/ 
RedirectMatch 301 /alte-artikel/rueckblick/dateFilter/([0-9]{4})/09/ /artikel/$1/september/ 
RedirectMatch 301 /alte-artikel/rueckblick/dateFilter/([0-9]{4})/10/ /artikel/$1/oktober/ 
RedirectMatch 301 /alte-artikel/rueckblick/dateFilter/([0-9]{4})/11/ /artikel/$1/november/ 
RedirectMatch 301 /alte-artikel/rueckblick/dateFilter/([0-9]{4})/12/ /artikel/$1/dezember/

Weiterleitung nach Browser-Sprache

Einfache Weiterleitung auf https://www.domain.com/de/ oder https://www.domain.com/en/, abhängig von der im Browser eingestellten Sprache.

Die RewriteCond-Regeln stellen sicher, dass nur beim Aufruf der Startseite eine Weiterleitung erfolgt. URLs mit einem query string werden nicht weitergeleitet.

RewriteCond %{REQUEST_URI} ^/$
RewriteCond %{QUERY_STRING} ^$
RewriteCond %{HTTP:Accept-Language} ^(de|en)
RewriteRule ^ https://%{HTTP_HOST}/%1/ [R=301,L,QSA]

Quelle: https://stackoverflow.com/questions/53445594/typo3-v9-5-sites-language-redirects

webserver/htaccess.txt · Zuletzt geändert: 2019/06/10 15:42 von admin