目前,我正在为之工作的客户正在使用此处概述的SEO友好网址:
但是,他们希望从所有网址中删除/en/clientstorename
。例如,当用户导航到www.clientwebsite.com时,URL会自动切换到www.clientwebsite.com/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
,但是每个页面都只显示一条通用错误消息,甚至将日志记录一路转到{{1}在控制台中什么也没有显示。
我有点卡在这里,不确定如何进行。我是否可以劫持某个类以删除SEO网址的这些部分?当我使用SEOURLPatterns.xml文件删除/ en / clientstorename时,会抛出未记录的异常,并且我不确定如何继续执行该路由。
我还尝试从SEOURLMapper类内部的URL中拦截和删除/ en / clientstorename,但是我对此进行的测试实际上并未影响浏览器中显示的URL。
在不影响网站本身功能的情况下,从客户网站上的每个网址中删除此/ en / clientstorename的最佳方法是什么。