Raccourcissement de la racine de contexte de l'URL d'un magasin local migré

Lorsque vous migrez votre magasin d'une version précédente de HCL Commerce vers la version 9.0, votre magasin s'exécute sur le serveur de transactions (trs-app) et est souvent appelé un magasin local. En plus de s'exécuter sur le serveur de transactions, votre magasin local utilise également le serveur de transactions Web (trs-web). Si vous utilisez un magasin local, vous pouvez raccourcir la racine contextuelle de l'URL de votre magasin pour que les clients se souviennent plus facilement d'un lien. Le raccourcissement de la racine de contexte améliore également la visibilité dans les résultats des moteurs de recherche.

Pourquoi et quand exécuter cette tâche

Il est possible de raccourcir l'URL d'un magasin en modifiant la racine de contexte. Vous pouvez modifier l'URL du site par défaut pour passer de http://hostname/wcs/shop/servlet/StoreName/index.jsp à quelque chose de plus court, par exemple : http://hostname/shop/StoreName/index.jsp. Dans cet exemple, shop est utilisé pour remplacer la racine de contexte, mais n'importe quel nom peut être utilisé à la place, y compris une valeur de racine de contexte vide.
Important : En cas de protocole non valide ou d'expiration avec une redirection, l'URL de redirection utilise le chemin complet et non l'URL avec la racine de contexte abrégée.

Procédure

Pour modifier la racine de contexte dans IBM HTTP Server :
  1. Accédez à votre conteneur Web Docker en exécutant docker exec -it bvt_web_1 bash puis passez au répertoire /SETUP/config.
  2. Ouvrez le fichier httpd.conf pour l'éditer.
  3. Assurez-vous que la ligne ci-dessous n'est pas commentée :
    LoadModule rewrite_module modules/mod_rewrite.so
  4. Localisez l'objet virtualhost : <VirtualHost servername:80>. Cet objet peut s'afficher comme suit <VirtualHost *:80>
  5. Insérez le code suivant dans l'objet <VirtualHost servername:80> avant la balise de fin </VirtualHost>.
    
    RewriteEngine on
    RewriteRule ^/shop/(.*) /wcs/shop/servlet/$1 [PT,L]
    
    Si vous spécifiez une racine de contexte vide, utilisez plutôt le format suivant :
    
    RewriteEngine on 
    RewriteRule ^/(?!wcsstore)(.*) /wcs/shop/servlet/$1 [PT,L]
    
    L'utilisation du format précédent lorsque vous spécifiez une racine de contexte vide permet de s'assurer que la vitrine fonctionne toujours correctement. Autrement, il peut y avoir des erreurs d'affichage au niveau de la feuille CSS, et les images peuvent s'afficher incorrectement.
  6. Répétez l'étape précédente pour les autres hôtes virtuels éventuels utilisés par votre environnement.
    Par exemple, <VirtualHost servername:443> ou <VirutalHost *:8006>.
  7. Sauvegardez le fichier.
  8. Redémarrez le serveur IBM HTTP.

Que faire ensuite

Une fois la règle de réécriture mise à jour sur le serveur Web, mettez à jour le fichier de configuration du Transaction server pour indiquer la valeur de la règle de réécriture de la racine de contexte :
  1. Ouvrez le fichier de configuration du magasin distant, qui se trouve dans le répertoire suivant.

    /opt/WebSphere/AppServer/profiles/default/installedApps/localhost/ts.ear/xml/config/wc-server.xml

  2. Recherchez la section SEOConfiguration.
  3. Dans la section SEOConfiguration, entrez le code suivant :
    <context-root-rewrite value="/shop" />
    Par exemple :
    <SEOConfiguration defaultUrl="" dynamicUrl="true" enable="true">
    <context-root-rewrite value="/shop" />
    </SEOConfiguration> 
  4. Sauvegardez le fichier.