【问题标题】:Cloudflare page rules to serve static files without extensionCloudflare 页面规则以提供无扩展名的静态文件
【发布时间】:2016-06-26 03:54:39
【问题描述】:

我已经设法配置我的 Nginx(在 Nodejs 之上)以提供没有 html 扩展名的静态文件(例如,转到 site.com/about 服务于 about.html 页面) - 在这些过去问题的帮助下:how to serve html files in nginx without showing the extension in this alias setuphttps://serverfault.com/questions/346994/hide-html-file-extensions-using-nginx-rewrites

但我无法弄清楚如何设置 Cloudflare 页面规则以使用此设置(当前页面规则设置为包括静态 html 文件以及 js、css 等)。

如何配置 cloudflare 以在用户转到 site.com/about 时提供 about.html 页面,并在用户转到 site.com/about/team 时提供 team.html 页面?我需要做一些特别的事情,还是 Nginx 设置就足够了?

【问题讨论】:

    标签: node.js nginx cloudflare


    【解决方案1】:

    如果您的静态页面不需要 CloudFlare 缓存,则您无需执行任何操作,一切都应该开箱即用。

    如果您希望 CloudFlare 也缓存这些静态页面,请尝试设置页面规则以缓存您网站上的所有内容:

    • 域 > 页面规则
    • 模式:*site.com/*
    • 自定义缓存 > 缓存所有内容

    一旦您设置了页面规则,CloudFlare 应该会缓存您的静态页面,并且 site.com/page1 应该可以工作。澄清一下,您的服务器仍在为页面提供服务,而不是 CloudFlare。 使用页面规则,您只是指示 CF 缓存您的服务器为 site.com/page1 发送的内容,而不是从您的服务器为每个访问者获取页面。

    如果您想从缓存中排除某些端点(例如管理部分),您可以添加其他具有更高优先级的页面规则。如果您只是托管静态 HTML,则不需要这样做。

    如果这不起作用,或者如果您需要对缓存内容进行更多控制,请查看this CloudFlare support doc 了解更多选项。

    祝你好运!

    【讨论】:

    • 谢谢;我确实需要 CloudFlare 来缓存静态 html 内容。我的问题基本上是关于在未指定最后的扩展名时提供正确的页面。如问题的最后一段所述,当用户请求 site.com/page1(而不是 site.com/page1.html)时,CloudFlare 实际上应该为 page1.html 提供服务。当我按照上面的建议设置页面规则时,是否也会发生这种情况?
    • 一旦你设置了页面规则,CloudFlare 应该缓存你的静态页面并且 site.com/page1 应该可以工作。澄清一下,您的服务器仍在为页面提供服务,而不是 CloudFlare。使用页面规则,您只需指示 CF 缓存您的服务器为 site.com/page1 发送的内容,而不是从您的服务器为每个访问者获取页面
    猜你喜欢
    • 1970-01-01
    • 2015-04-14
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-09-23
    • 2012-02-11
    相关资源
    最近更新 更多