【问题标题】:How do websites like stackoverflow work? [closed]像 stackoverflow 这样的网站是如何工作的? [关闭]
【发布时间】:2013-02-06 09:25:07
【问题描述】:

例如,当我创建这样的帖子/问题时。 stackoverflow 是如何使用它的?我的意思是,它是为问题创建一个新页面,还是将它变成碎片并将这些碎片放在一个动态页面上?

我了解到创建一个新页面会很糟糕,因为它会给服务器带来很大的压力。但它对 SEO 有好处吗?(不确定)另一方面,生成动态页面在服务器上的负担要轻得多,但我不确定何时涉及 SEO。

那么像 stackoverflow 这样的网站是如何处理内容的呢?生成新页面还是仅生成一个动态页面?或者他们做了一些我没有读过或听说过的事情?

【问题讨论】:

  • 单个动态页面。虽然您确实在 URL 中看到了问题名称,但它被完全忽略了。我可以删除它,或者用废话代替它。只要 ID 部分完好,SO 就会找到它。

标签: php mysql seo stack-overflow dynamic-pages


【解决方案1】:

它都是动态生成的,并且 URL 只是使关键字丰富,因为它对搜索引擎友好。

它在大多数网络服务器中通过重写 URL 来完成,以便搜索引擎可以在 URL 中找到重要的关键字

在 Apache HTTP 服务器中,.htaccess 文件中的规则将重写请求 URL 以转换为处理脚本可以使用的实际参数

例如像这样的网址

http://www.example.com/forum-name-3/topic-name-28/22/

将被转换为

http://www.example.com/index.php?forum=3&topic=28&page=22

.htaccess中使用这个简单的规则

RewriteRule ([0-9A-Za-z-\+._]+)-([0-9]+)/([0-9A-Za-z-\+._]+)-([0-9]+)/([0-9]+)/$ ./index.php?forum=$2&topic=$4&page=$5

如果您使用的是 Apache HTTP 服务器,那么您可以找到所有花哨的东西here

您需要根据自己的需要制定规则,上面的示例只是为了解释其工作原理,因此可能需要进行一些调整才能使其正常工作。

【讨论】:

    【解决方案2】:

    我不熟悉 stackoverflow.com 架构,但通常它遵循这两个原则

    1) 为新帖子/问题生成一个永久链接 url 2) 这个永久链接 url 在内部处理并转换为动态 url

    例如https://stackoverflow.com/questions/14995745/how-do-websites-like-stackoverflow-work 可能很容易在内部转换为 https://stackoverflow.com/questions/?id=14995745

    搜索引擎优化只需要一个永久链接 url

    【讨论】:

      【解决方案3】:

      我将介绍我在我们的项目中设计的 CMS。

      当用户提交文章/新闻时,我们在服务器端创建包含文章详细信息的 XML。例如

      modules/cms/YYYY/MM/DD/<<title>>-<<unqid>>.xml
      

      XML str 与此类似-

      <blog>
        <title>..</title>
        <author>..</author> 
        <comment>...</comment>
      </blog>
      

      当我保存 XML 时,我还将关于内容的元数据存储在 DB 中(articleId、title、author、status、cmets、voteupCnt、viewcount 等)我还使用一些技术从内容中提取关键字并将它们存储在 DB 中。在 DB 中存储元数据有助于我更快地进行搜索。

      我已经写了控制器来阅读基于url的文章

      www.xyz.com/article/YYYY/MM/DD/title-unqid
      

      此控制器将读取 XML modules/cms/YYYY/MM/DD/-.xml 并以 HTML 格式显示。它还将在 HTML 的元标记中包含关键字以使其对 SEO 友好。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2011-12-09
        • 2018-04-18
        • 2012-07-11
        • 1970-01-01
        • 1970-01-01
        • 2012-01-13
        • 2011-06-04
        • 1970-01-01
        相关资源
        最近更新 更多