J'ai activé système > Config > Web > Ajouter un code Store pour les URL et je configurer ai un nouveau magasin Voir pour le Canada (/ ca /).
J'aimerais idéalement que example.com/ca/ charge la vue du magasin du Canada, mais qu'il y ait toujours example.com (sans le default
code de magasin là-dedans) pour le magasin par défaut.
J'ai remarqué que la page d'accueil fonctionne très bien à cet égard, mais lorsque j'entre dans une page de produit, Magento inclut automatiquement le code du magasin dans l'URL.
La principale raison pour laquelle j'hésite à modifier nos URL actuelles pour notre magasin par défaut est simplement parce que je détesterais les voir perdre tout jus de lien. Je sais que théoriquement, tant que j'installe des redirections 301, ça devrait aller, mais je pense avoir lu quelque part qu'une petite quantité de jus est toujours perdue.
De plus, je pense que c'est probablement un peu mieux du point de vue de l'utilisabilité. Si la majeure partie de votre trafic est vers votre magasin par défaut et que vos clients sont habitués à l'URL régulière, pourquoi les déranger avec les informations supplémentaires /default/
( /us/
ou autre) de l'URL.
J'ai essayé de désactiver Ajouter un code de magasin aux URL et de simplement changer l'URL de base pour ma vue de magasin du Canada sur example.com/ca/, mais cela ne semble rien faire. Je suppose qu'il a besoin du paramètre activé afin de récupérer le code du magasin dans l'URL et de faire quoi que ce soit avec.
la source
../app/Mage.php
. Pour autant que je sache, cela devrait suffireSetEnv MAGE_STORE_VIEW ca
.RewriteBase
d'autre part n'est généralement pas nécessaire. 2) Il devrait suffire de définir des liens symboliques vers index.php et app, si vous ne définissez que l' URL du lien de base sur / ca / et laissez la configuration d' URL de base par défautL'utilisateur clockworkgeek a créé le module Magento-Store-Codes juste pour ce cas d'utilisation.
J'ai testé cela sur CE 1.9.2.3 avec une configuration de site Web unique avec plusieurs vues de magasin, et cela semblait fonctionner parfaitement!
Voir aussi: Magento: Comment masquer le code Store View par défaut de l'url
la source
Sur la base de la réponse de Mzeis et du commentaire de Fschmengler , voici une manière KISS de le faire:
ca
:mkdir ca
app
répertoire:ln -s ../app/ ca/app
index.php
fichier:ln -s ../index.php/ ca/index.php
Créez un
.htaccess
fichier dans leca
répertoire:touch ca/.htaccess
avec le contenu suivant:System > Configuration > Web
, réglez leBase Link URL
à{{unsecure_base_url}}ca/
et{{secure_base_url}}ca/
respectivement.Si, pour une raison quelconque, la
RewriteOptions inherit
pièce n'est pas possible pour vous, vous pouvez également simplement copier la pièce par défautmod_rewrite
dans votre.htaccess
fichier de sous-répertoire .Cette solution devrait fonctionner aussi bien que celle de mzeis, mais elle est beaucoup plus petite et plus facile.
la source
une autre option consiste à utiliser un sous-domaine par magasin. Il vous suffit ensuite de configurer Apache pour indiquer à magento le "site Web / magasin" à utiliser.
De cette façon, vous pouvez avoir plusieurs "magasins" et "vues" sous les sites Web de sous-domaine dans le même intall magento.
c'est la configuration Apache de la boutique example.com
c'est la configuration Apache du magasin "ca" supplémentaire
la source
Ajoutez simplement ceci à l'un de vos fichiers system.xml (dans app / code / module local):
De cette façon, vous pouvez choisir l'option "Ajouter un code de magasin aux URL" par vue de magasin.
la source