IBM Commerce SEO URL issue with Ajax calls

孤街醉人 提交于 2019-12-11 23:15:06

问题


i am using WCS7 FEP7. i just enabled seo following below steps.

  1. httpd.conf changes

RewriteRule ^/(.*)$ /webapp/wcs/stores/servlet/$1 [PT,NC]

  1. wc-server.xml changes
<SEOConfiguration  defaultUrl=""  dynamicUrl="true" enable="true">
     <context-root-rewrite value="/"/>
 </SEOConfiguration>

I have run the keyword generation job..All SEO URLs are coming up nice.but OOB ajax calls are failing.

Add to cart ajax calling is failing.. I see http:///AjaxOrderChangeServiceItemAdd Ajax POST call is being triggered.. I am getting 404 error. Where as Commerce server needs http:///webapp/wcs/stores/servlet/AjaxOrderChangeServiceItemAdd

I tried to put a rewrite rule to add 'webapp/wcs/stores/servlet' for this particular request..As this is a POST call (parameters in the body), it would not work properly.

RewriteRule /AjaxOrderChangeServiceItemAdd$ /webapp/wcs/stores/servlet/AjaxOrderChangeServiceItemAdd?data=$1 [NC,L]‹

Am i missing something here.?

Please help.


回答1:


Try this..In the code snipped below, you need to pass your store and catalog ids respectively.

RewriteEngine on
RewriteRule ^/?$ /webapp/wcs/stores/servlet/TopCategoriesDisplay?storeId=<storeId>&catalogId=<catalogId> [L,QSA,PT]
RewriteCond %{REQUEST_URI} !^/robots.txt$
RewriteCond %{REQUEST_URI} !^/sitemap.xml(.gz)?$
RewriteCond %{REQUEST_URI} !^/solr.*$
RewriteCond %{REQUEST_URI} !^/lobtools.*$
RewriteCond %{REQUEST_URI} !^(/)?$
RewriteCond %{REQUEST_URI} !^/webapp.*$
RewriteCond %{REQUEST_URI} !^/wcsstore.*$
RewriteCond %{REQUEST_URI} !^/ConsumerDirectStorefrontAssetStore.*$
RewriteCond %{REQUEST_URI} !^/wps.*$
RewriteCond %{REQUEST_URI} !^/images/.*$
RewriteCond %{REQUEST_URI} !^/favicon\.ico
RewriteRule ^/(.*) /webapp/wcs/stores/servlet/$1?storeId=<storeId>[QSA,PT]



回答2:


read this below and try it , it is a little different than what you did

http://www-01.ibm.com/support/knowledgecenter/SSZLC2_7.0.0/com.ibm.commerce.starterstores.doc/tasks/tsmshortenmadisonsurl.htm




回答3:


As it's mentioned in http://www-01.ibm.com/support/knowledgecenter/SSZLC2_7.0.0/com.ibm.commerce.starterstores.doc/tasks/tsmshortenmadisonsurl.htm

`If you are specifying a blank context root, use the following format instead:

RewriteEngine on

RewriteRule ^/(?!wcsstore)(.*) /webapp/wcs/stores/servlet/$1 [PT,L]`

The SEO engine should not care if it's an POST request. Data is sent regardless.

Be sure that you've created your AJAX call from wcf:url

http://www-01.ibm.com/support/knowledgecenter/SSZLC2_7.0.0/com.ibm.commerce.component-services.doc/refs/rwvwcfurl.htm



来源:https://stackoverflow.com/questions/27527946/ibm-commerce-seo-url-issue-with-ajax-calls

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!