提问人:jros 提问时间:7/24/2018 最后编辑:jros 更新时间:7/27/2018 访问量:558
在 Websphere Commerce 7 中,如何以正确的方式从 SEO URL 中删除语言和商店名称?
In Websphere Commerce 7, how do I remove the language and store name from an SEO url the correct way?
问:
目前,我工作的客户正在使用此处概述的 SEO 友好网址:
但是,他们希望从所有 url 中删除。例如,当用户导航到 www.clientwebsite.com 时,URL 会自动切换到 www.clientwebsite.com/en/clientstorename。我想从网址中删除,以及网站上的所有其他网址。/en/clientstorename
/en/clientstorename
客户还告诉我,IHS更改不是解决此问题的可能方法。
因此,据我所知,这给我留下了一个选项,即直接从每个 SEOURLPatterns xml 文件的所有条目中删除 /LanguageToken/StoreToken:CatalogToken 部分。也就是说,我的想法是在工作区中的所有 SEOURLPatterns xml 文件中进行此更改。(注意注释掉的现有行和我未注释的修改行)
<seourl:seoUrlPatternDef name="PersonalizedProductURLPIPPage">
<!--<seourl:seoUrlPattern viewName="ThirdPartyVendorProductsDisplayView">/LanguageToken/StoreToken:CatalogToken/ProductToken/PCPToken/BeginIndexToken/ioZoneToken</seourl:seoUrlPattern>-->
<seourl:seoUrlPattern viewName="ThirdPartyVendorProductsDisplayView">/ProductToken/PCPToken/BeginIndexToken/ioZoneToken</seourl:seoUrlPattern>
<seourl:urlToParamMapping>
<seourl:mapping name="langId" value="?LanguageToken?"/>
<seourl:mapping name="storeId" value="?StoreToken?"/>
<seourl:mapping name="catalogId" value="?CatalogToken?"/>
<seourl:mapping name="productId" value="?ProductToken?"/>
<seourl:mapping name="plchldr" value="?PCPToken?"/>
<seourl:mapping name="mfname" value="?BeginIndexToken?" />
<seourl:mapping name="styleId" value="?ioZoneToken?" />
<seourl:mapping name="errorViewName" value="ProductDisplayErrorView"/>
</seourl:urlToParamMapping>
<seourl:paramToUrlMapping>
<seourl:mapping name="LanguageToken" value="?langId?" defaultValue="-1"/>
<seourl:mapping name="StoreToken" value="?storeId?"/>
<seourl:mapping name="CatalogToken" value="?catalogId?"/>
<seourl:mapping name="ProductToken" value="?productId?"/>
<seourl:mapping name="PCPToken" value="?plchldr?"/>
<seourl:mapping name="BeginIndexToken" value="?mfname?"/>
<seourl:mapping name="ioZoneToken" value="?styleId?"/>
</seourl:paramToUrlMapping>
<seourl:usageDef>
<seourl:usage device="browser">
<seourl:target>CatalogEntry</seourl:target>
</seourl:usage>
</seourl:usageDef>
</seourl:seoUrlPatternDef>
当我这样做时,我确实看到生成的 URL 现在省略了 ,但是每个页面都只显示一条通用错误消息,甚至将日志记录一直转到控制台中也不显示任何内容。/en/clientstorename
*=all
我有点被困在这里,不知道该如何进行。在某个地方是否有我可以劫持的类来删除 SEO url 的这些部分?当我使用 SEOURLPatterns.xml 文件删除 /en/clientstorename 时,会抛出未记录的异常,我不确定如何继续该路由。
我还尝试从 SEOURLMapper 类内的 URL 中截获并删除 /en/clientstorename,但我对此的测试实际上并没有影响浏览器中显示的 URL。
在不影响网站本身功能的情况下,从客户站点上的每个 url 中删除此 /en/clientstorename 的最佳方法是什么?
答: 暂无答案
评论