私の会社がサイトコアを使用して開発しているサイトの URL を短縮しようとしています。Alex Shyba のブログ記事はこちらと Sitecore のドキュメントはこちらを調べていますが、うまくいかないようです。短くしたいのはlocalhost:8081/sitecore/Content/Sites/HeinzABCID/Dapur.aspx
~からlocalhost:8081/Dapur.aspx
その URL はLinkManager.GetItemUrl()
メソッドによって生成されます。オプションとリンクを取得するための私のコードは以下のようなものです。
UrlOptions opt = (UrlOptions)UrlOptions.DefaultOptions.Clone();
opt.SiteResolving = Sitecore.Configuration.Settings.Rendering.SiteResolving;
linkToResep.NavigateUrl = LinkManager.GetItemUrl(citem, opt);
私の中には、web.config
以下のような構成を入れました。
<linkManager defaultProvider="sitecore">
<providers>
<clear/>
<add name="sitecore" type="Sitecore.Links.LinkProvider, Sitecore.Kernel"
addAspxExtension="true"
alwaysIncludeServerUrl="false"
encodeNames="true"
languageEmbedding="asNeeded"
languageLocation="filePath"
shortenUrls="true"
useDisplayName="true"/>
</providers>
</linkManager>
私の web.configのconfiguration/sitecore/sites/site
withname="website"
部分は以下のとおりです。
<site name="website" virtualFolder="/" physicalFolder="/" rootPath="/sitecore/Content/Sites/HeinzABCID" startItem="/Home" database="web" domain="extranet" allowDebug="true" cacheHtml="true" htmlCacheSize="10MB" registryCacheSize="0" viewStateCacheSize="0" xslCacheSize="5MB" filteredItemsCacheSize="2MB" enablePreview="true" enableWebEdit="true" enableDebugger="true" language="en" disableClientData="false"/>
他のサイトはありません。デフォルト (シェル、ログイン、管理者、サービス、modules_shell、modules_website) だけです。
そして、これが私のサイトのサイト構造です。
/sitecore/content/sites
+Sites
+---+HeinzABCID
+---+Dapur
+Search
+Other Items
私を助けてください :)