Zur Navigation

Rewrite

1 MBO (Gast)

Guten Morgen zusammen,

ich verzweifel gerade :-(

Ich möchte folgende 3 Punkte umsetzen, schaffe aber nur 2 davon.

1. Umleitung von Domainname auf www.Domainname (funktioniert)

2. Umleitung generell von http:// auf https://www. (funktioniert)

3. jetzt das Problem. Es scheint Kunden zu geben die unseren Onlineshop unter www.shop.domainname.com aufrufen möchten.
Diese möchte ich bei diesem Aufruf auf unserer Subdomain https://shop.domain.com weiterleiten/umleiten

Danke schon mal für eure Hilfe!

Gruß
Markus

18.07.2018 10:23

2 Jörg

Die Shop-Subdomain hat ein eigenes Wurzelverzeichnis?

RewriteEngine on

RewriteCond %{HTTP_HOST} ^www\. [OR]
RewriteCond %{SERVER_PORT} !^443$
RewriteRule ^/?(.*)$ https://shop.example.com/$1 [R=301,L]

18.07.2018 10:38

3 MBO (Gast)

Hey Jörg,
die Shop-Subdomain geht via cname Eintrag zu einem anderen Provider.
Gruß
Markus

18.07.2018 10:43

4 Jörg

Dann muss der Rewrite dort (in der betreffenden .htaccess Datei oder in der VHost-Konfiguration) gemacht werden. Oder gibt es den CNAME-Eintrag nur für shop.example.com, aber nicht für www.shop.example.com?

18.07.2018 10:50

5 MBO (Gast)

Wenn ich deinen Code nehme, werden alle Anfragen an die shop.example.com weitergeleitet.

Ich möchte, dass unserer normale Domain beim Aufruf von example.com weitergeleitet wird an https://www,example.com und www.example.com auch auf https://www.example.com

Nur beim Aufruf der Adresse: https://www.shop.example.com und www.shop.example.com soll eine Weiterleitung an https://shop.example.com erfolgen.

Hier ein Auszug aus meiner .htaccess

RewriteEngine On

RewriteCond %{HTTP_HOST} ^example\.com$ [NC]
RewriteRule ^(.*)$ https://www.example.com/$1 [R=301]

RewriteCond %{HTTPS} off
RewriteRule (.*) https://%{HTTP_HOST}%{REQUEST_URI} [R=301,L]

18.07.2018 10:51

6 MBO (Gast)

Den CNAME Eintrag gibt es nur für shop.example.com

18.07.2018 10:52

7 Jörg

Ok, dann hat www.shop.example.com also die gleiche .htaccess Datei wie (www.)shop.example.com, da muss die erste Bedingung dann genauer gefasst werden

RewriteEngine On

RewriteCond %{HTTP_HOST} ^example\.com$ [NC]
RewriteRule ^(.*)$ https://www.example.com/$1 [R=301]

RewriteCond %{HTTP_HOST} ^www\.shop\.
RewriteRule ^(.*)$ https://shop.example.com/$1 [R=301,L]

RewriteCond %{HTTPS} off
RewriteRule (.*) https://%{HTTP_HOST}%{REQUEST_URI} [R=301,L]

... die zweite Bedingung kann dafür entfallen

18.07.2018 11:00

8 MBO (Gast)

Hallo Jörg,

soll ich den Code, so wie du Ihn mir geschickt hast komplett mal so einbauen? Oder was meinst du mit 2. Bedingung kann entfallen?

Kannst du mir vielleicht einmal den Code schicken, so wie du Ihn einbauen würdest?

DANKE!

18.07.2018 11:16

9 MBO (Gast)

Hallo Jörg,
ich habe es jetzt mal mit dem Code oben probiert, leider ohne Erfolg.

www. geht auf https://www. das läuft.

example.com geht auf https://example.com

sollte aber auf https://www.example.com

www.shop.example.com geht auf https://www.shop.example.com
sollte aber auf https://shop.example.com gehen (also vielleicht als Redirect)?

18.07.2018 11:21

10 Jörg

Bau in die letzte Weiterleitung auch noch die Bedingung ein, dass diese nur für example.com gelten soll:

RewriteEngine On

RewriteCond %{HTTP_HOST} ^example\.com$ [NC]
RewriteRule ^(.*)$ https://www.example.com/$1 [R=301]

RewriteCond %{HTTP_HOST} ^www\.shop\.
RewriteRule ^(.*)$ https://shop.example.com/$1 [R=301,L]

RewriteCond %{HTTPS} off
RewriteCond %{HTTP_HOST} ^example\.com$ [NC]
RewriteRule (.*) https://%{HTTP_HOST}%{REQUEST_URI} [R=301,L]

... und ansonsten leere (nach jeder Änderung der .htaccess Datei) deinen Browser-Cache

Sauberer wäre es, für www.shop.example.com ein eigenes Wurzelverzeichnis mit eigener .htaccess Datei anzulegen - dann kommen sich die Rewrites für die verschiedenen Domains nicht ins Gehege. Oder einen CNAME-Eintrag wie für shop.example.com, so dass du beim anderen Anbieter die Rewrites für (www.)shop.example.com analog zu denen von (www.)example.com definieren kannst

18.07.2018 11:33 | geändert: 18.07.2018 11:34