Sitecore将端口号添加到所有URL

gfr*_*zle 5 url sitecore port-number

想知道以前是否有人见过这种行为.我的Sitecore 6.6实例将端口号附加到它为我的站点生成的所有URL.例如,主页的链接应该是" https://example.org ",而是生成为" https://example.org:443 ".一切都可以正常使用端口号,但是它混淆了我们试图用SEO和规范化做的一些事情.有谁知道是否有设置或设置不产生端口号?(我确信我可以通过在管道中的适当位置捕获它们来重写URL,但我希望在跳转到之前有一个更简单的方法.)

Kev*_*ühl 7

Sitecore LinkManager确实不那么聪明.我们还通过混合使用代理服务器和负载均衡器来解决此问题.要删除端口,我们创建了一个自定义LinkProvider,如果需要,它会删除端口(未经测试的代码示例):

public class LinkProvider : Sitecore.Links.LinkProvider
{
   public override string GetItemUrl(Item item, UrlOptions options)
   {
      var url = base.GetItemUrl(item, options);
      if (url.StartsWith("https://"))
      {
         url = url.Replace(":443", string.Empty);
      }

      return url;
   }
}
Run Code Online (Sandbox Code Playgroud)

并配置新的LinkProvider:

<configuration xmlns:set="http://www.sitecore.net/xmlconfig/set/">
  <sitecore>
    <linkManager defaultProvider="sitecore">
      <providers>
        <add name="sitecore" set:type="Website.LinkProvider, Website" />
      </providers>
    </linkManager>
  </sitecore>
</configuration>
Run Code Online (Sandbox Code Playgroud)