2011-09-10 81 views

回答

1

你可以做到這一點在2種方式:

  1. 使用IIS 7 URL重寫模塊更改URL。通過這種方式,網址在獲得sitecore之前將被重寫,而且您不需要更改任何代碼。您可以找到更多info at the iis website

  2. 您可以創建自定義項目解析器並將其添加到RequestBegin sitecore管道。亞歷克斯Shyba寫了關於它here

0

這聽起來像你可能有數以千計的這些項目,但即便如此,您可能需要使用內置的Sitecore的功能,並考慮每個這些項目的創建別名。以編程方式在ItemSaved事件或ItemCreated上創建別名可能是最簡單的。

0

正如@marto和@seth所說的,您可以使用URL重寫或別名來解決這個問題。

但是,這樣做有一個缺點,無論你如何選擇這樣做。

如果你有很多項目(你的結構聽起來像你可能會這樣做),那麼任何一種方法都會要求URL是唯一的。從URL中刪除日期結構意味着着陸部分中的所有項目都將需要唯一的URL(無論是從其項目名稱還是其他方式繼承)。這可能會影響您的網站的搜索引擎優化,因爲作者可能很難找到一個未使用的名稱,這也是人類可讀的,對SEO有好處。你不可能在你的網址中使用醜陋的GUID。

0

2選項

  1. 變化剷鬥配置和該組中的所需的文件夾結構,桶結構可在Sitecore.Buckets.config找到的文件

  2. 擴展GetFromRouteValue項目Resolver和覆蓋ResolveItem( )方法來獲取存儲桶項目。 可以在Sitecore.MVC.config文件中找到默認的GetFromRouteValue類引用,並將其替換爲您自己的自定義實現。

我們已經與定製的路由,並得到確切的項目,如果該路由路徑相匹配來實現。

謝謝, Jisha

相關問題