我们正在使用Sitecore 8.1和MVC格式。 我们刚刚发现如果我们有这样的链接: mywebsite.com/about或mywebsite.com/contact
如果您编写mywebsite.com/about.aspx,则该页面就在那里。这是一个理想的功能吗? 如果我们不想只有没有.aspx的版本,我们怎么能这样做?这可能吗?
编辑:以下是这些网址的生成方式:
<linkManager defaultProvider="sitecore">
<providers>
<clear />
<add name="sitecore" type="Sitecore.Links.LinkProvider, Sitecore.Kernel" addAspxExtension="false" alwaysIncludeServerUrl="false" encodeNames="true" languageEmbedding="always" languageLocation="filePath" lowercaseUrls="false" shortenUrls="true" useDisplayName="false" />
</providers>
答案 0 :(得分:1)
这是默认的Sitecore行为。
即使您添加了.aspx
或.ashx
扩展名,也会返回该页面。
如果没有自定义编码,则无法禁用此功能。
答案 1 :(得分:1)
这是Sitecore的默认行为,但您可以执行的操作是将任何.aspx
页面重定向到正确的URL,在sitecore Link Manager配置中保留addAspxExtension="false"
,并将以下代码添加到主布局:
string itemUrl = Sitecore.Links.LinkManager.GetItemUrl(Sitecore.Context.Item);
if (itemUrl != Request.Path)
{
Response.Redirect(itemUrl);
}
答案 2 :(得分:0)
这是sitecore的默认行为。
您可以通过传递生成网址时删除扩展程序 urlOptions.AddAspxExtension为false。
如果我们希望您的网站在sitecore.config文件中更改
<linkManager defaultProvider="sitecore">
<providers>
<clear />
<add name="sitecore" type="Sitecore.Links.LinkProvider, Sitecore.Kernel" addAspxExtension="false" />
</providers>
</linkManager>
如果您不希望存在.aspx或.ashx网址。您可以覆盖HttpRequestProcessor管道并对那些具有这些扩展名的URL进行永久重定向。