代码之家  ›  专栏  ›  技术社区  ›  Jeffrey Blake

.htaccess urls:使用文件扩展名?

  •  0
  • Jeffrey Blake  · 技术社区  · 14 年前

    使用.htaccess重新定义网站的URL时,有两个清除选项:

    1. 不提供扩展名,因为stackoverflow使用类似这样的URL http://stackoverflow.com/questions/ask
    2. 提供.html的扩展,不管底层技术如何,所以 http://stackoverflow.com/questions/ask.html

    使用一种方法比使用另一种方法有什么特殊的优势吗?

    编辑:这里是 the article 这让我考虑使用 .html 伪造静态实现。

    3 回复  |  直到 14 年前
        1
  •  1
  •   Gumbo    14 年前

    第一个URL可以视为 generic URL 与第二个可以被视为 特定网址 (将HTML指定为内容类型)。

    使用通用URL时非常有用 content negotiation . 所以 /questions/ask 可用于请求依赖于客户机首选项的资源(例如 Accept , Accept-Encoding Accept-Language 位置(本地化)和时间。另一方面 /questions/ask.html 将用于请求绝对是HTML的资源。

        2
  •  0
  •   Joy Dutta    14 年前

    我认为这取决于你想让你的网站对搜索引擎优化有多友好。

    考虑一下:今天您有一个普通的ask.html静态页面。明天,您可能希望使它成为动态的,并用ask.php替换它,后者可以接受参数。从SEO的角度来看,更改站点URL并不好。如果ask.html已经很受欢迎,并且在谷歌搜索中排名接近榜首,你将不愿意改变这一点。在这些情况下,从一开始就拥有像/ask via.htaccess这样的永久别名url(permalink)会更有意义。

    另一方面,如果您有一个非常高流量的静态HTML页面,那么如果直接引用该文件的URL绕过.htaccess,那么页面加载可能会更快一些。

        3
  •  0
  •   Jeffrey Blake    14 年前

    到目前为止,我能想到的唯一因素是:

    1. 过时的SEO因素:正如我所链接的文章中所提到的,搜索引擎曾经给带有静态文件扩展名的页面提供更多的信任。这似乎不再是事实了。
    2. 主观审美因素:在我看来,较短(无扩展)的列表看起来更吸引人,并且要求用户在键入URL时键入较少的字符(或在粘贴URL时使用较少的字符)。我想这可能会导致更多的链接共享,使它更容易直接链接到你的东西上的服务,如Twitter。