Host: Im Zweifel für die Domain.

Hallo,

ich bin jetzt schon einige Male auf das Problem gestoßen, weil der Host direkt in die Datenbank geschrieben wird. Bei mir ist es meist die IP oder eine Subdomain. Nun ist bei der Live-Schaltung unter der Hauptdomain nötig, dass er in der Datenbank umgeschrieben werden muss oder der Shop funktioniert nicht. Welchen Sinn hat es die IP / Domain fest in die Datenbank einzutragen? Verstehen würde ich das ja bei Subshops, aber beim Hauptshop macht das irgendwie keinen Sinn?

Danke und Gruss

Also in das Backend kommst du immer. Auch ohne Host in den Grundeinstellungen. Zugang zur Datenbank brauchst du da nicht zwingend. Das backend funktioniert über jede Domain die auf das Shopware Verzeichnis zeigt.

Der Sinn ist unter anderem, dass sämtliche Links mit dem Host generiert werden. Und irgendwo muss er ja gespeichert sein. Da es mehrere sein können, bietet sich die DB dafür an. Aber wo ist das Problem beim Ändern des einen Datenbankeintrags? Ich finde das eigentlich sehr bequem…

1 „Gefällt mir“

Magento macht es auch, es scheint für irgendwas sinnvoll zu sein. Ohne in den Feinheiten zu stecken, würde ich denken, dass die Verlinkungen ohnehin relativ und nicht absolut sein sollten. Und dass bei Bedarf sich der Host via PHP ermitteln lassen kann.

Kennt jemand den Grund?

In das Backend bin ich hier in dem Fall nicht hineingekommen.Es beantwortet auch irgendwie die Frage nicht wozu es in die Datenbank eingetragen wird. Relative Pfade oder Hostermittlung wie es @Synonymous‍ , dann würde es doch nur für den 2., 3. … Host sinnvoll sein, aber für den “haupthost”? Ich weiss ja nicht was so bequem daran ist in einer Datenbank herumzuändern, bin da auf Konsolen-Ebene, du nutzt doch bestimmt phpMyAdmin ;-) :stuck_out_tongue:

[@Moritz Naczenski](http://forum.shopware.com/profile/14574/Moritz Naczenski “Moritz Naczenski”)‍ Entwickelt habe ich auf IP-Adresse als es die Domain noch nicht gab. Dann gab es die Domain es wurde auf Subdomain geswitcht. Und ab hier musste ich in der Datenbank rumfummeln.

Auch darauf gibt es eine einfache Antwort: 1. Ist es nicht in allen Konstellationen möglich automatisiert den Hostname zu ermitteln (Unterverzeichnise, Rewrites etc.) und 2. ist es aus Sicht der Performance auch nicht sonderlich schlau. Genausogut könnte man sich ja das Speichern der DB Zugangsdaten in der config_*.php sparen und das System die richtigen Daten einfach bei jedem Request per Bruteforce ermitteln lassen.

Also - den Hostname fix abzulegen ist schon nicht verkehrt. Nachdem der Umzug immer wieder Thema ist, habe ich ein kurzes Tutorial dazu verfasst: https://synonymous.rocks/2016/07/18/shopware-system-auf-einen-neuen-server-eine-neue-domain-umziehen/

1 „Gefällt mir“

Hi,

der Hostname ist doch schon deswegen sinnvoll, weil ihr ja nicht möchtet, dass mit und ohne „www“ indiziert wird - ohne einmal mit IP und einmal mit dem Host. Dafür muss Shopware „wissen“, was der von euch genutzte Standard-Host ist. Wenn jemand dann über eine andere Route kommt, kann er entsprechend umgeleitet werden.

Grundsätzlich muss das auch nicht in der DB korrigiert werden - die s_core_shops kontrollierst du ja im Backend über die Shop-Konfiguration. Wenn auch das Backend nicht erreichbar ist und eine Umleitung stattfindet, liegt das nicht am s_core_shops Host - wie Moritz schon gesagt hat, machen wir da im Standard keine Umleitung. Das könnt ihr auch relativ leicht testen: Mein lokaler Dev-Shop wird von „127.0.0.1“ nach „localhost“ umgeleitet - das Backend aber nicht, das kann ich komplett über „127.0.0.1/backend“ bedienen, auch wenn „localhost“ als Host eingetragen ist.

Daniel

1 „Gefällt mir“

@Synonymous‍ mit seinem Bruteforce Vergleich übers Ziel hinausschießt.

Der Hostname ist nicht immer oder vielleicht selten die Adresse des Shops, das leuchtet ein. 

Stimmt schon… Aber Du weißt worauf ich hinaus wollte…