Les magasins qui fonctionnent sur le conteneur de magasin dédié (crs-app) sont souvent appelés magasins distants. 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/my_shop/index.jsp, comme on le voit dans l'exemple suivant. La procédure suivante modifie la racine de contexte, mais ne la supprime pas.
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
- Mettez à jour la valeur
context-root dans votre fichier application.xml.
- Ouvrez le fichier suivant en mode édition.
workspace_dir\crs\META-INF\application.xml
- /opt/WebSphere/Liberty/usr/servers/default/apps/crs.ear/META-INF/application.xml
- Recherchez le module suivant.
<module>
<web>
<web-uri>crs-web.war</web-uri>
<context-root>/wcs</context-root>
</web>
</module>
- Mettez à jour la valeur
context-root avec une valeur de votre choix. Par exemple, /.L'exemple suivant illustre le code mis à jour.
<module>
<web>
<web-uri>crs-web.war</web-uri>
<context-root>/</context-root>
</web>
</module>
- Enregistrez et fermez le fichier.
- Mettez à jour votre fichier wc-store.xml.
- Ouvrez le fichier suivant en mode édition.
workspace_dir\crs\xml\config\wc-store.xml
- /opt/WebSphere/Liberty/usr/servers/default/apps/crs.ear/xml/config/wc-store.xml
- Recherchez le module Web suivant.
<WebModule>
<Module contextPath="/wcs"
name="Stores"
urlMappingPath="/shop" webAlias="/wcsstore">
- Mettez à jour les valeurs
contextPath et urlMappingPath de votre choix.L'exemple suivant illustre le code mis à jour.
<WebModule>
<Module contextPath="/"
name="Stores"
urlMappingPath="/my_shop" webAlias="/wcsstore">
- Enregistrez et fermez le fichier.
- Mettez à jour votre fichier web.xml.
- Ouvrez le fichier suivant en mode édition.
workspace_dir\crs-web\WebContent\WEB-INF\web.xml
- /opt/WebSphere/Liberty/usr/servers/default/apps/crs.ear/crs-web.war/WEB-INF/web.xml
- Localisez le mappage-servlets suivant.
<servlet-mapping>
<servlet-name>Stores</servlet-name>
<url-pattern>/shop/*</url-pattern>
</servlet-mapping>
- Mettez à jour
url-pattern pour le servlet Store avec une valeur de votre choix.L'exemple suivant illustre le code mis à jour.
<servlet-mapping>
<servlet-name>Stores</servlet-name>
<url-pattern>/my_shop/*</url-pattern>
</servlet-mapping>
- Enregistrez et fermez le fichier.
- Mettez à jour votre fichier de fondation component.xml.
- Ouvrez le fichier suivant en mode édition.
workspace_dir\WC\xml\config\com.ibm.commerce.foundation\wc-component.xml
- /opt/WebSphere/AppServer/profiles/default/installedApps/localhost/ts.ear/xml/config/com.ibm.commerce.foundation/wc-component.xml
- Localisez la propriété suivante :
<!-- value to remote store context root -->
<_config:property name="wc.store.remote.webContextPath" value="/wcs/shop"/>
- Mettez à jour la valeur de la propriété
wc.store.remote.webContextPath avec la valeur de votre choix.L'exemple suivant illustre le code mis à jour.
<!-- value to remote store context root -->
<_config:property name="wc.store.remote.webContextPath" value="/my_shop"/>
- Enregistrez et fermez le fichier.
- Si votre site utilise crs-alias-proxy-web.war pour transférer les actifs statiques avec le contexte
/wcsstore vers crs-web.war, alors vous devez mettre à jour votre fichier crs-alias-proxy-web.war/web.xml avec la valeur TargetContextRoot correcte. Dans le cas contraire, les actifs statiques qui se trouvent dans votre crs -web.war ne sont pas accessibles depuis le chemin d'accès /wcsstore.
Remarque : Si votre racine de contexte crs-web.war est /, alors vous pouvez ignorer cette étape car cette racine de contexte peut être trouvée automatiquement. Vous pouvez également ignorer cette étape si votre site n'utilise pas crs-alias-proxy-web.war pour transférer des actifs statiques vers crs-web.war. Par exemple, si vous utilisez un serveur Web ou un serveur de contenu pour gérer les actifs statiques avec le chemin d'accès /wcsstore.
- Ouvrez le fichier suivant en mode édition.
workspace_dir\crs-alias-proxy-web\WebContent\WEB-INF\web.xml
- /opt/WebSphere/Liberty/usr/servers/default/apps/crs.ear/crs-alias-proxy-web.war/WEB-INF/web.xml
- Recherchez le paramètre
TargetContextRoot et mettez à jour la valeur correspondant à votre nouvelle racine de contexte.
- Enregistrez et fermez le fichier.
- Redémarrez votre serveur de magasin à distance.