Włączyłem System > Konfiguracja > Internet > Dodaj kod sklepu do adresów URL i skonfigurowałem nowy widok sklepu dla Kanady (/ ca /).
Chciałbym idealnie mieć example.com/ca/ załadować Canada Store View, ale nadal mieć example.com (bez default
kodu sklepu) dla domyślnego sklepu.
Zauważyłem, że strona główna działa pod tym względem dobrze, ale kiedy wchodzę na stronę produktu, Magento automatycznie dołącza kod sklepu do adresu URL.
Głównym powodem, dla którego waham się zmienić nasze obecne adresy URL dla naszego domyślnego sklepu, jest to, że nie chciałbym widzieć, jak tracą sok z linków. Wiem, że teoretycznie dopóki skonfiguruję przekierowania 301, powinienem być w porządku, ale myślę, że gdzieś przeczytałem, że niewielka ilość soku wciąż jest tracona.
Myślę też, że jest to prawdopodobnie nieco lepsze z punktu widzenia użyteczności. Jeśli większość ruchu przypada na Twój domyślny sklep, a Twoi klienci są przyzwyczajeni do zwykłego adresu URL, po co zawracać im głowy dodatkowymi /default/
( /us/
lub jakikolwiek innymi) adresami URL.
Próbowałem wyłączyć opcję Dodaj kod sklepu do adresów URL i po prostu zmienić podstawowy adres URL mojego sklepu w Kanadzie na example.com/ca/, ale to nic nie zrobiło. Zakładam, że wymaga włączonego ustawienia, aby pobrać kod sklepu z adresu URL i zrobić z nim wszystko.
źródło
../app/Mage.php
. O ile wiem, to powinno wystarczyćSetEnv MAGE_STORE_VIEW ca
.RewriteBase
z drugiej strony zwykle nie jest konieczne. 2) Wystarczy ustawić dowiązania symboliczne do index.php i aplikacji, jeśli ustawisz tylko podstawowy adres URL linku na / ca / i pozostawisz domyślną konfigurację podstawowego adresu URLUżytkownik clockworkgeek stworzył moduł Magento-Store-Codes tylko dla tego przypadku użycia.
Przetestowałem to na CE 1.9.2.3 z pojedynczą konfiguracją strony internetowej z wieloma widokami sklepu i wydawało się, że działa idealnie!
Zobacz także: Magento: Jak ukryć domyślny kod widoku sklepu przed adresem URL
źródło
Na podstawie odpowiedzi mzeis i komentarza fschmenglera , oto KISS sposób:
ca
:mkdir ca
app
katalogu:ln -s ../app/ ca/app
index.php
pliku:ln -s ../index.php/ ca/index.php
Utwórz
.htaccess
plik wca
katalogu:touch ca/.htaccess
o następującej treści:System > Configuration > Web
, ustawićBase Link URL
się{{unsecure_base_url}}ca/
i{{secure_base_url}}ca/
odpowiednio.Jeśli z jakiegoś powodu
RewriteOptions inherit
część nie jest dla Ciebie możliwa, możesz po prostu skopiować domyślnąmod_rewrite
część do.htaccess
pliku podkatalogu.To rozwiązanie powinno działać tak dobrze, jak rozwiązanie Mzeis, ale jest o wiele mniejsze i łatwiejsze.
źródło
inną opcją jest użycie poddomeny na sklep. Następnie wystarczy skonfigurować Apache, aby informował magento, której „strony / sklepu” użyć.
W ten sposób możesz mieć wiele „sklepów” i „widoków” pod stronami poddomeny, wszystkie w tej samej instalacji Magento.
to jest konfiguracja Apache sklepu przyklad.com
jest to dodatkowa konfiguracja Apache sklepu „ca”
źródło
Juste dodaj to do jednego z plików system.xml (w app / code / local module):
W ten sposób możesz wybrać opcję „Dodaj kod sklepu do adresów URL” dla widoku sklepu.
źródło