Ativei Sistema > Configuração > Web > Adicionar código de loja a URLs e configurei uma nova Visualização de loja para o Canadá (/ ca /).
Idealmente, gostaria de ter example.com/ca/ para carregar a Visualização da loja do Canadá, mas ainda assim ter example.com (sem o default
código da loja) para a loja padrão.
Percebi que a página inicial funciona bem nesse sentido, mas quando entro em uma página de produto, o Magento inclui automaticamente o código da loja no URL.
O principal motivo pelo qual hesito em alterar nossos URLs atuais para nossa loja padrão é apenas porque eu odiaria vê-los perder qualquer suco de link. Sei que teoricamente, desde que eu configurei os redirecionamentos 301, eu ficaria bem, mas acho que li em algum lugar que uma pequena quantidade de suco ainda está perdida.
Além disso, acho que isso provavelmente é um pouco melhor do ponto de vista da usabilidade. Se a maior parte do seu tráfego é para sua loja padrão e seus clientes estão acostumados com o URL normal, por que incomodá-los com o adicional /default/
( /us/
ou qualquer outro) no URL.
Tentei desativar o Adicionar código da loja aos URLs e simplesmente alterar o URL base da minha Visualização da loja do Canadá para example.com/ca/, mas isso não pareceu fazer nada. Suponho que ele precise da configuração ativada para pegar o código da loja no URL e fazer qualquer coisa com ele.
fonte
../app/Mage.php
. Tanto quanto eu sei que deve ser suficienteSetEnv MAGE_STORE_VIEW ca
.RewriteBase
por outro lado, geralmente não é necessário. 2) Deve ser suficiente para links simbólicos conjunto para index.php e aplicativo, se você só definir a base de dados de URL do link para / ca / e deixe o padrão URL Base de dados de configuraçãoO usuário clockworkgeek criou o módulo Magento-Store-Codes apenas para este caso de uso.
Eu testei isso no CE 1.9.2.3 com uma única configuração de site com várias visualizações de loja e parecia funcionar perfeitamente!
Veja também: Magento: Como ocultar o código padrão da Visualização da loja do URL
fonte
Com base na resposta do comentário de mzeis e fschmengler , aqui está uma maneira de fazê-lo:
ca
:mkdir ca
app
diretório:ln -s ../app/ ca/app
index.php
arquivo:ln -s ../index.php/ ca/index.php
Crie um
.htaccess
arquivo noca
diretório:touch ca/.htaccess
com o seguinte conteúdo:System > Configuration > Web
, definaBase Link URL
como{{unsecure_base_url}}ca/
e{{secure_base_url}}ca/
respectivamente.Se, por algum motivo, a
RewriteOptions inherit
peça não for possível, você também pode simplesmente copiar a peça padrãomod_rewrite
no seu.htaccess
arquivo de subdiretório .Essa solução deve funcionar tão bem quanto a dos mzeis, mas é muito menor e mais fácil.
fonte
outra opção é usar um subdomínio por loja. Então você acabou de configurar o Apache para dizer ao magento qual "site / loja" usar.
Dessa forma, você pode ter várias "lojas" e "visualizações" nos sites de subdomínios, todos no mesmo magento intall.
esta é a configuração do Apache da loja example.com
esta é a configuração adicional do Apache da loja "ca"
fonte
Juste adicione isso a um dos seus arquivos system.xml (no aplicativo / código / módulo local):
Dessa forma, você pode escolher a opção "Adicionar código da loja aos URLs" por visualização da loja.
fonte