Ich habe System > Config > Web > Store Code zu URLs hinzufügen aktiviert und eine neue Store View für Kanada (/ ca /) eingerichtet.
Idealerweise möchte example.com/ca/ die Canada Store-Ansicht laden, aber weiterhin example.com (ohne den darin enthaltenen default
Store-Code) für den Standard-Store.
Ich habe festgestellt, dass die Homepage in dieser Hinsicht einwandfrei funktioniert, aber wenn ich auf eine Produktseite gehe, fügt Magento den Geschäftscode automatisch in die URL ein.
Der Hauptgrund, warum ich zögere, unsere aktuellen URLs für unseren Standardspeicher zu ändern, ist nur, weil ich es hassen würde, wenn sie jeglichen Linksaft verlieren. Ich weiß, dass es mir theoretisch gut gehen sollte, solange ich 301 Weiterleitungen einrichte, aber ich glaube, ich habe irgendwo gelesen, dass immer noch eine kleine Menge Saft verloren geht.
Ich denke auch, dass dies aus Sicht der Benutzerfreundlichkeit wahrscheinlich etwas besser ist. Wenn der Großteil Ihres Datenverkehrs auf Ihr Standardgeschäft entfällt und Ihre Kunden an die reguläre URL gewöhnt sind, sollten Sie sie mit den zusätzlichen /default/
( /us/
oder was auch immer) in der URL belästigen .
Ich habe versucht, das Hinzufügen von Store-Code zu URLs zu deaktivieren und einfach die Basis-URL für meine Canada Store-Ansicht in example.com/ca/ zu ändern, aber das schien nichts zu bewirken. Ich gehe davon aus, dass die Einstellung aktiviert sein muss, um den Geschäftscode in der URL aufzunehmen und überhaupt etwas damit zu tun.
quelle
../app/Mage.php
. Soweit ich weiß, sollte das reichenSetEnv MAGE_STORE_VIEW ca
.RewriteBase
auf der anderen Seite ist in der Regel nicht notwendig. 2) Es sollte ausreichen, Symlinks auf index.php und app zu setzen, wenn Sie nur die Basis-Link-URL auf / ca / setzen und die Standard- Basis-URL- KonfigurationDer Benutzer clockworkgeek hat das Magento-Store-Codes-Modul nur für diesen Anwendungsfall erstellt.
Ich habe dies auf CE 1.9.2.3 mit einem einzigen Website-Setup mit mehreren Store-Ansichten getestet und es schien perfekt zu funktionieren!
Siehe auch: Magento: So verbergen Sie den Standardcode für die Store-Ansicht vor der URL
quelle
Basierend auf der Antwort von Mzeis und Fschmenglers Kommentar ist hier eine KISS-Methode:
ca
:mkdir ca
app
Verzeichnis:ln -s ../app/ ca/app
index.php
Datei:ln -s ../index.php/ ca/index.php
Erstellen Sie eine
.htaccess
Datei imca
Verzeichnis:touch ca/.htaccess
mit folgendem Inhalt:System > Configuration > Web
setzt dieBase Link URL
auf{{unsecure_base_url}}ca/
und{{secure_base_url}}ca/
ist.Wenn aus irgendeinem Grund, der
RewriteOptions inherit
Teil für Sie nicht möglich ist, können Sie auch kopieren Sie einfach den Standard -mod_rewrite
Teil in die Unterverzeichnis -.htaccess
Datei statt.Diese Lösung sollte genauso gut funktionieren wie die von Mzeis, ist aber viel kleiner und einfacher.
quelle
Eine andere Möglichkeit besteht darin, eine Subdomain pro Geschäft zu verwenden. Dann richten Sie einfach Apache ein, um Magento mitzuteilen, welche "Website / welcher Store" verwendet werden soll.
Auf diese Weise können Sie mehrere "Stores" und "Views" unter den Subdomain-Websites in derselben Magento-Installation haben.
Dies ist die Apache-Konfiguration von example.com store
Dies ist die zusätzliche "ca" -Speicher-Apache-Konfiguration
quelle
Juste fügt dies einer Ihrer system.xml-Dateien hinzu (in app / code / local module):
Auf diese Weise können Sie die Option "Geschäftscode zu URLs hinzufügen" pro Geschäftsansicht auswählen.
quelle