Activer les URL SEO sur plusieurs magasins et sous-domaines sur OpenCart à l’aide de Nginx

J’essaie de faire fonctionner les URL de référencement sur plusieurs magasins dans OpenCart.

J’ai deux magasins dans l’admin

http://www.shop.com (default) http://m.shop.com 

Les URLs SEO fonctionnent pour http://www.shop.com Mais elles renvoient un not_found.tpl (la page 404) pour http://m.shop.com

Cela fonctionne cependant:

 http://m.shop.com/index.php?route=product/product&path=68&product_id=52 

SEO sage, il devrait être

 /index.php?route=product/product&path=68&product_id=52 http://www.shop.com/product-title http://m.shop.com/product-title (404 returned) 

J’utilise NGINX. Ceci est la config:

www.shop.com

 server { server_name www.shop.com; listen 80; root /var/www/www.shop.com/; index index.php index.html; location /image/data { autoindex on; } location / { try_files $uri @opencart; } location @opencart { rewrite ^/(.+)$ /index.php?_route_=$1 last; } location ~ \.php$ { try_files $uri =404; include /etc/nginx/fastcgi_params; fastcgi_pass 127.0.0.1:9000; fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; } } 

m.shop.com

 server { server_name m.shop.com; listen 80; root /var/www/www.shop.com/; index index.php index.html; location /image/data { autoindex on; } location / { try_files $uri @opencart; } location @opencart { rewrite ^/(.+)$ /index.php?_route_=$1 last; } location ~ \.php$ { try_files $uri =404; include /etc/nginx/fastcgi_params; fastcgi_pass 127.0.0.1:9000; fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; } } 

J’ai eu cet article et des détails de quelqu’un, dans ma société SEO et l’équipe marketing utilisent cet outil ..

Depuis le référencement complet URL complètes sur nginx sur les forums XenForo:

C’est vraiment très simple.

Étant donné que vous avez téléchargé XenForo dans le répertoire “community”, ajoutez-le simplement à votre configuration nginx:

 location /community/ { index index.php index.html index.htm; try_files $uri $uri/ /community/index.php?$uri&$args; } 

Pendant que vous y êtes, vous pouvez également append ceci pour bloquer l’access externe aux dossiers “internal_data” et “library”.

 location ~ ^/community/(internal_data|library)/(.*)$ { internal; } 

Redémarrez nginx et activez les URL Full Friendly.

Des instructions simples pour la configuration multi-magasins? sur les forums Opencart:

La version courte est la suivante:
créer 2 sous-domaines de démonstration
subA.domain.com
subB.domain.com
et “pointer” les deux sous-domaines vers le même dossier sur votre hôte Web.
ie public_html / shop
Installez opencart sur le premier sous-domaine, puis passez par l’administrateur et ajoutez un magasin supplémentaire.

Vous aurez donc Shop1 subA.domain.com et Shop2 subB.domain.com exécutant le même code.

J’espère que c’est logique.

OpenCart ne gère pas les URL de référencement pour les multi-magasins. La seule façon de le faire – append manuellement les URL dans l’ location {} de m.shop.vhost

Cela fonctionnera (exemple)

 www.shop.com.vhost www.shop.com/index.php?route=checkout/cart www.shop.com/checkout/cart rewrite ^/checkout/cart?$ /index.php?route=checkout/cart last; 

Et cela ne fonctionnera pas:

m.shop.com/checkout/cart – il retournera 404.

Cela le fera fonctionner

 m.shop.com.vhost location / { rewrite ^/checkout/cart?$ /index.php?route=checkout/cart last; } 

Vous devez simplement append manuellement toutes les URL de votre choix. Une réécriture globale intelligente serait nécessaire pour les liens de produits, car vous ne pouvez bien sûr pas les append manuellement. Si je peux suggérer quelque chose – s’il s’agit d’un site mobile – alors vous n’avez pas vraiment besoin d’URL SEO. Les utilisateurs les utilisent rarement pour les téléphones, bien sûr, l’utilisateur savant apprécier les liens SEO amicaux à utiliser sur le téléphone – le seul inconvénient est qu’il nécessite une redirection avancée.

Je suppose que vous voulez que cela fonctionne afin que vous puissiez automatiquement changer l’en-tête de www en m et m en www pour un téléphone de classe de redirection plus facile. Si tel est le cas, j’aimerais que quelqu’un d’autre terminé. Nous utilisons NGINX sur 2 serveurs à charge équilibrée et utilisons Magento, OpenCart et un autre script pour nos magasins d’entreprise. Nous aimons que vous soyez l’une des entresockets les plus sérieuses à effectuer des transactions volumineuses sur OpenCart – nous disposons d’une équipe dédiée qui gère les commandes internationales et les requêtes linguistiques.