He habilitado Sistema > Configuración > Web > Agregar código de tienda a las URL y he configurado una nueva Vista de tienda para Canadá (/ ca /).
Idealmente, me gustaría tener example.com/ca/ cargar la vista de la tienda de Canadá, pero todavía tengo example.com (sin el default
código de la tienda allí) para la tienda predeterminada.
Me di cuenta de que la página de inicio funciona bien en este aspecto, pero cuando entro en una página de producto, Magento incluye automáticamente el código de la tienda en la URL.
La razón principal por la que dudo en cambiar nuestras URL actuales para nuestra tienda predeterminada es simplemente porque odiaría ver que pierdan cualquier enlace. Sé que, en teoría, siempre y cuando configure las redirecciones 301, debería estar bien, pero creo que he leído en alguna parte que todavía se pierde una pequeña cantidad de jugo.
Además, creo que esto es probablemente algo mejor desde una perspectiva de usabilidad. Si la mayor parte de su tráfico se dirige a su tienda predeterminada y sus clientes están acostumbrados a la URL normal, ¿por qué molestarlos con el adicional /default/
( /us/
o lo que sea) en la URL?
Intenté deshabilitar Agregar código de tienda a las URL y simplemente cambié la URL base de mi Vista de tienda de Canadá a example.com/ca/, pero eso no pareció hacer nada. Supongo que necesita la configuración habilitada para recoger el código de la tienda en la URL y hacer algo con él.
fuente
../app/Mage.php
. Por lo que sé, eso debería ser suficienteSetEnv MAGE_STORE_VIEW ca
.RewriteBase
por otro lado generalmente no es necesario. 2) Debe ser suficiente para enlaces simbólicos conjunto a index.php y aplicación, si sólo se establece el enlace URL base a / ca / y deje el valor predeterminado Base URL de configuraciónEl usuario clockworkgeek creó el módulo Magento-Store-Codes solo para este caso de uso.
He probado esto en CE 1.9.2.3 con una única configuración de sitio web con múltiples vistas de la tienda, ¡y parecía funcionar perfectamente!
Consulte también: Magento: Cómo ocultar el código predeterminado de Vista de tienda de la url
fuente
Basado en la respuesta del comentario de mzeis y fschmengler , aquí hay una forma de hacerlo de KISS:
ca
:mkdir ca
app
directorio:ln -s ../app/ ca/app
index.php
archivo:ln -s ../index.php/ ca/index.php
Cree un
.htaccess
archivo en elca
directorio:touch ca/.htaccess
con el siguiente contenido:System > Configuration > Web
, establezcaBase Link URL
a{{unsecure_base_url}}ca/
y{{secure_base_url}}ca/
respectivamente.Si, por alguna razón, la
RewriteOptions inherit
parte no es posible para usted, también puede simplemente copiar la parte predeterminadamod_rewrite
en su.htaccess
archivo de subdirectorio .Esta solución debería funcionar tan bien como la de mzeis, pero es mucho más pequeña y fácil.
fuente
Otra opción es utilizar un subdominio por tienda. Luego configuras Apache para decirle a magento qué "sitio web / tienda" usar.
De esta manera, puede tener múltiples "tiendas" y "vistas" en los sitios web de subdominio, todo en el mismo magento.
esta es la configuración de Apache de la tienda example.com
esta es la configuración adicional de Apache de la tienda "ca"
fuente
Simplemente agregue esto a uno de sus archivos system.xml (en la aplicación / código / módulo local):
De esta forma, puede elegir la opción "Agregar código de tienda a las URL" por vista de tienda.
fuente