OK. Ich hab das 301er-Dingens jetzt mal ausgeknipst.
OpenCart 3 Multidomain + Multishop
-
-
-
Stopp!!! Warte mit dem auskommentieren. Nun kommt was anders.
-
https://seidenhandel.ch/robots.txt?tst ruft ohne Weiterleitung ab, also bleibt auf der ch, wie es sein soll. Also statisches File geht schon mal.
-
OK. Auskommentiert.
-
OK. Wieder ent-auskommentiert
-
https://www.seidenhandel.ch/robots.txt?tst ist auch richtig. Leitet an ohne-www-CH
OK, die DE geht auch, aber da fehlt nun wie Weiterleitung von nicht-www auf mit-www. Das sind die drei Zeilen 149, 150, 151
-
Ok, das passt so. htaccess ist korrekt:
https://seiden-handel.de/robots.txt -> https://www.seiden-handel.de/robots.txt
https://www.seidenhandel.ch/robots.txt -> https://seidenhandel.ch/robots.txt
Die Weiterleitung war das Dingens in Plesk, das angeblich per Default nicht da ist.
-
Jetzt müssteste eigentlich "nur noch" den Store entsprechend anlegen und am besten irgendwas ändern, das direkt auffällt, dass man unterscheiden kann, ob der deutsche oder der schweizer angezeigt wird. Das ist nun aber Aufgabe des Shops.
Und bei Deinen manuellen Weiterleitungen in der Htaccess, also bei denen da (allen)
Apache ConfigurationRewriteRule ^image/cache/catalog/seidentücher/chiffon\s3,5/([\w\-_\s,/\.]+)\.webp$ https://www.domain.de/image/cache/catalog/seidentuecher/chiffon_35/$1.webp [L,NC,R=301]
Entferne da bei allen die Domain, sodass das Ziel einfach nur mit einem Slash beginnt.
-
Mir ist nur immer noch nicht klar, wie der shop wissen will, was er bei welcher URL anzeigen soll.
Ich finde da keine Weiche oder sowas. -
Ok, das passt so. htaccess ist korrekt:
https://seiden-handel.de/robots.txt -> https://www.seiden-handel.de/robots.txt
https://www.seidenhandel.ch/robots.txt -> https://seidenhandel.ch/robots.txt
Die Weiterleitung war das Dingens in Plesk, das angeblich per Default nicht da ist.
Also bei mir war das Voreingestellt aktiviert. Darum hab ich das auch so gelassen.
-
WTF? DAS GEHT!
Bei der schweizer Domain hab ich ganz oben einen zusätzlichen Block eingefügt um die Startseiten zu unterscheiden. FUNZT! -
Mir ist nur immer noch nicht klar, wie der shop wissen will, was er bei welcher URL anzeigen soll.
Ich finde da keine Weiche oder sowas.Die Weiche ist die Domain oder sub. Wenn da domain.de angefragt wird, dann der eine Shop und wenn domain.ch angefragt wird, der neue Shop, der angelegt werden muss.
Daher geht das ja nicht mit "Ordnern". Das geht alles über die Domain. Da kannste theoretisch so viele aufschalten wie Du magst als Alias und dann eben als neuen Store einrichten.
-
Ich sehe den Unterschied am Warenkorb. Beim einen steht 0,00€, beim anderen CHF0,00
Musst nun quasi alles anpassen. Auch Titel z.B. die Startseite heißt nun einfach nur "test". Template anpassen, wenn gewünscht, Produkte zuordnen, kann man ja alle einzelne und muss nicht alles übernehmen etc.
Und die manuellen Weiterleitungen nicht vergessen zu ändern, denn die würden einen ja sonst auch direkt nach DE schicken.
Die Weiterleitung in Plesk kannste auslassen, denn das ganze Zeug mit www nach ohne oder umgedreht sowie nach SSL haste ja alles in der htaccess stehen.
-
Sogar die Module, für die ich nur eine Domainbezogene Lizenz haben, funktionieren^^
-
Öhm... und wie mach ich das jetzt, wenn ich die Domain domain.ch für ein paar Tage vor Publikum und bots verstecken will?
Ich kann da ja keine .htaccess-Sperre anlegen, weil die ja für domain.de und domain.ch gilt, oder? -
Also auch so Zeug wie Matomo anpassen, sonst trackt der auf der gleichen ID.
-
Verstecken... Das ist eine gute Frage. Du hast nur eine htaccess.... Die ist für beide verantwortlich.
Du kannst in der also alles machen wie bisher auch, nur musst Du halt immer vorher prüfen / festlegen, für welche Domain die Anweisung dann zählt, sonst zählt sie für beide.
Wenn Du mit Sperre so was wie einen Passwortschutz meinst, dann kannste den ja auch auf eine bestimmte Domain binden, so wie z.B. auch nur auf einen bestimmten Ordner. Du musst da immer nur eben in den Bedingungen mit berücksichtigen, dass Du den Host mit abfragst / prüfst.
Robots.txt könnte man zwei anlegen und per htaccess umbiegen, das geht. Also eine robots-de.txt und eine robots-ch.txt, die nur intern anders sind und nach außen beide als robots.txt auftreten, nur mit unterschiedlichem Inhalt.
Bei der htaccess selbst geht das nicht, denn die gibt der vHost vor und da kann es nur eine geben, daher innerhalb filtern, was für was zählt, wenn es Unterschiede geben soll.
-
"und wie mach ich das jetzt, wenn ich die Domain domain.ch für ein paar Tage vor Publikum und bots verstecken will?"
Wie würdest Du das denn bisher machen? Hast da mal ein Code-Beispiel dafür? Dann sieht man ja, was man ändern kann und muss.
-
Möglichkeiten gibt es da mehrere. Also per Rewrite, wie wir das schon haben oder eben per Apache direkt... So was z.B.
Apache Configuration# greift nur bei domain.ch, nicht bei www.domain.ch oder anderen # Exact-Match per == <If "%{HTTP_HOST} == 'domain.ch'"> AuthType Basic AuthName "Password Protected Area" AuthUserFile /my/path/to/.htpasswd require valid-user </If>
Der Inhalt ist nun egal und nur ein Beispiel. Entscheidend ist das <if>, denn darin wird der %{HTTP_HOST} abgefragt. In dem Fall wäre der Passwortschutz für den kompletten Host "domain.ch" (nicht für http://www.domain.ch), aber eben nicht für andere. Und in das <if> kann man im Grunde alles einbauen, was man sonst so in der Htaccess auch hat. Also auch IP sperren, andere Expires, Header etc. Man muss nur beachten, dass man dann eventuell zwei solche Blöcke braucht, also quasi ein if-else. Kommt aber auf den speziellen Fall an.
Und da geht eben alles. Direkter Sting-Vergleich (exakt, so wie oben im Beispiel), oder "AND" und "OR", Regex etc....
https://httpd.apache.org/docs/2.4/expr.html
Code# greift nur bei domain.ch und bei www.domain.ch, nichts anderes # Als OR-Bedingung per ||. Beides Exakt-Match per == <If "%{HTTP_HOST} == 'domain.ch' || %{HTTP_HOST} == 'www.domain.ch'">
Code# greift bei allen Subs von domain.ch # das =~ bedeutet Regex-Vergleich # daher egal was, es muss nur domain.ch vorkommen <If "%{HTTP_HOST} =~ /domain\.ch/">
So kann man sich also innerhalb einer htaccess zwei Bereiche oder mehrere für verschiedene Hosts anlegen. Mehr oder weniger genauso wie beim vHost mit SSL und ohne. Sind auch zwei Blöcke, der eine regiert auf Port 80, der andere auf 443.
-