Я включил Систему > Конфигурация > Интернет > Добавить код магазина в URL-адреса и настроил новый режим просмотра магазина для Канады (/ ca /).
В идеале я бы хотел, чтобы example.com/ca/ загрузил представление магазина в Канаде, но при этом оставил example.com (без default
кода магазина) для магазина по умолчанию.
Я заметил, что домашняя страница прекрасно работает в этом отношении, но когда я захожу на страницу продукта, Magento автоматически включает код магазина в URL.
Основная причина, по которой я не решаюсь изменить наши текущие URL-адреса для нашего магазина по умолчанию, заключается в том, что я не хотел бы видеть, как они теряют любой ссылочный сок. Я знаю, что теоретически, пока я настраиваю перенаправления 301, у меня все будет хорошо, но я думаю, что где-то читал, что небольшое количество сока все еще теряется.
Кроме того, я думаю, что это, вероятно, несколько лучше с точки зрения удобства использования. Если основная часть вашего трафика приходится на ваш магазин по умолчанию, а ваши клиенты привыкли к обычному URL, зачем их беспокоить дополнительным /default/
( /us/
или каким-либо другим) в URL.
Я пытался отключить функцию добавления кода магазина в URL-адреса и просто изменить базовый URL-адрес для моего представления магазина в Канаде на example.com/ca/, но, похоже, это не помогло. Я предполагаю, что для этого нужно включить настройку, чтобы подобрать код магазина в URL и что-то с ним сделать.
источник
../app/Mage.php
. Насколько я знаю, этого должно быть достаточноSetEnv MAGE_STORE_VIEW ca
.RewriteBase
с другой стороны, обычно в этом нет необходимости. 2) Этого должно быть достаточно, чтобы установить символические ссылки на index.php и app, если вы только установите URL-адрес базовой ссылки на / ca / и оставите конфигурацию базового URL-адреса по умолчаниюПользователь clockworkgeek создал модуль Magento-Store-Codes только для этого варианта использования.
Я проверил это на CE 1.9.2.3 с одной установкой веб-сайта с несколькими представлениями магазина, и это, казалось, работало отлично!
Читайте также: Magento: Как скрыть код по умолчанию Store View из URL
источник
Основываясь на ответе комментариев mzeis и fschmengler , вот KISS способ сделать это:
ca
:mkdir ca
app
каталог:ln -s ../app/ ca/app
index.php
файл:ln -s ../index.php/ ca/index.php
Создайте
.htaccess
файл вca
каталоге:touch ca/.htaccess
со следующим содержанием:System > Configuration > Web
, установитьBase Link URL
на{{unsecure_base_url}}ca/
и{{secure_base_url}}ca/
соответственно.Если по какой-то причине эта
RewriteOptions inherit
часть невозможна для вас, вы также можете просто скопировать часть по умолчаниюmod_rewrite
в.htaccess
файл подкаталога.Это решение должно работать так же хорошо, как решение от mzeis, но намного меньше и проще.
источник
Другой вариант - использовать поддомен для каждого магазина. Затем вы просто настраиваете Apache, чтобы сообщить magento, какой «сайт / магазин» использовать.
Таким образом, вы можете иметь несколько «магазинов» и «просмотров» на сайтах поддоменов в одном magento intall.
это конфиг Apache на сайте example.com
это дополнительный "ap" конфиг Apache
источник
Просто добавьте это в один из ваших файлов system.xml (в app / code / local module):
Таким образом, вы можете выбрать опцию «Добавить код магазина в URL» для представления магазина.
источник