使用无扩展名的网址有哪些优势?

Jit*_*yas 20 php asp.net xhtml seo sitecore

使用无扩展名的网址有哪些优势?

例如,我为什么要改变......

http://yoursite.com/mypage.html
http://yoursite.com/mypage.php
http://yoursite.com/mypage.aspx

至...

http://yoursite.com/mypage

是否可以为每个页面提供无扩展名的URL?

更新:

无扩展名网址是否更适合网站安全性?

JKG*_*JKG 28

无扩展URL的原因是它与技术无关.如果要更改内容的呈现方式,则无需更改URL.

W3:酷URI不会改变

文件扩展名

这是一个非常普遍的问题."cgi",甚至".html"都会改变.您可能在20年后没有在该页面上使用HTML,但您可能希望今天的链接仍然有效.链接到W3C站点的规范方式不使用扩展....

结论

保持URI以使它们仍然在2年,20年或200年甚至2000年左右,显然不是听起来那么简单.然而,在整个网络上,网站管理员正在做出决定,这将使自己在未来变得非常困难.通常,这是因为他们正在使用工具,其任务被视为在当下呈现最佳网站,并且没有人评估当事情发生变化时链接会发生什么.但是,这里的消息是,很多很多东西都可以改变,你的URI可以而且应该保持不变.他们只有在你考虑如何设计它们时才能做到.


Cor*_*rey 8

它主要是为审美目的而完成的.

有一个非常小的潜在安全性好处(用户不会立即知道后端代码写入的语言),但这可以忽略不计.

一篇相关的博文.


Mar*_*idy 5

人们声称它可以提供更好的搜索引擎优化,即使我个人并不相信.许多客户现在都要求这些无扩展的URL,因此它也可以很容易地实现.

如果您运行的是IIS 7,则可以将AppPool切换为在Integrated Pipeline上运行,从而无需将特定扩展映射到ASP.NET引擎.完成后,您可以指示Sitecore在web.config设置中使用无扩展名的网址(假设Sitecore 6):

<linkManager defaultProvider="sitecore">
  <providers>
    <clear />
    <add name="sitecore" type="Sitecore.Links.LinkProvider, Sitecore.Kernel" 
         addAspxExtension="false"    /* This one is set to true, per default */
         alwaysIncludeServerUrl="false" 
         encodeNames="true" 
         languageEmbedding="asNeeded" 
         languageLocation="filePath" 
         shortenUrls="true" 
         useDisplayName="false" />
  </providers>
</linkManager>
Run Code Online (Sandbox Code Playgroud)

你就定了.

请注意,早期版本的Sitecore 6在运行集成管道时存在一些问题.更多信息可以在这里找到.