Multilingue magasin comme un lien symbolique sous-répertoire sur nginx retourner "pas de route à la page'

magento.stackexchange https://magento.stackexchange.com//questions/64702

Question

nous avons besoin de mettre en place nos multi-langue store en utilisant le subdirectory/symlink la méthode décrite ici.(lire pourquoi @ en bas)

Comment nous l'avons fait. Nous avons copié index.php dans un sous-répertoire et un lien symbolique de tous les dossiers.L' base url a été mis à domain.com/en

Problème/Question Maintenant quand je l'ouvre domain.com/en je peux voir le site et il montre la version anglaise.La seule chose c'est que toutes les catégories et les liens vers les produits produire une "pas de route à la page' erreur.Au lieu de montrer la catégorie ou le produit.Maintenant, comment cela peut-il être?

Exemple Donc https://domain.com/en/funkyshoes ne pas ouvrir la catégorie funkyshoes, et ni ne funkyshoes https://domain.com/funkyshoes pour cette question.https://domain.com/en/funkyshoes retourne => no route to page https://domain.com/funkyshoes retourne => https://domain.com/en


pourquoi pas?parce que nous avons plus de 1 multistore et ne peut pas donner de chaque magasin, une lang store_code comme en/de/fr & nous avons aussi un multistore avec différents domaines par magasin et l'autre à l'aide de la /en /de /fr méthode dans le domaine principal.

Était-ce utile?

La solution 2

Une bien meilleure solution est:

location / { try_files $uri $uri/ @rewrite; } location @rewrite { rewrite /(../)? /$1index.php?$args; }

parce que nous avons eu certaines règles d'emplacement pour catalogue|caisse|client.Le problème étant que thay toutes référencées @réécriture - de cette façon, nous avons dû réécrire TOUS les emplacement des commandes qui ont été mis en place pour également avoir un match pour /fr et plus tard /fr et /de .....

Donc nous avons eu la plus simple de secours réécrire ce test d'abord et ensuite pour /(code à deux lettres) ....et réécrit basé sur

semble bien fonctionner

En outre, le store_code de recherche doit être modifiée.En raison de la /en de la http_host variable ou variable de serveur de ne plus travailler.

Une solution peut être trouvée ici:https://stackoverflow.com/questions/30078679/nginx-conf-w-multiple-maps-to-same-variable

Autres conseils

C'est un NGINX problème.

En ajoutant ceci à un fichier conf résolu notre problème

location /en {
 rewrite ^/en(.*)$ /en/index.php last;
}
Licencié sous: CC-BY-SA avec attribution
Non affilié à magento.stackexchange
scroll top