【问题标题】:Is there a way to make Firebase hosting non-case-sensitive?有没有办法让 Firebase 托管不区分大小写?
【发布时间】:2015-05-20 15:51:40
【问题描述】:

我正在使用 Firebase 托管,我想知道是否有办法使我的 Firebase 托管网站上的链接不区分大小写?许多人可能会直接在浏览器中输入它们,而不是点击链接。 (别问……我知道这很荒谬,但这是完全不同的对话。)

我运行了firebase -help,但没有看到它的配置选项,也没有在 Forge 的“托管”选项卡上看到该选项。

如果没有不区分大小写的托管选项,有没有办法在不区分大小写的文件系统上完成此操作?我无法创建文件夹的小写或混合大小写版本,因为我的文件系统将它们视为同名。

【问题讨论】:

    标签: firebase firebase-hosting


    【解决方案1】:

    Firebase 重定向使用 glob pattern matching,因此您可以执行以下操作:

    {
       "source" : "/[Ff][Oo][Oo]",
       "destination" : "/Foo",
       "type" : 301
    }
    

    【讨论】:

    • 我可以确认上述确实有效。链接的文档提到“[[ 和 case 命令匹配不区分大小写”。不幸的是,我已经确认在 [[ 和 ]] 中包围字符串的任何变体都无法在 firebase.json 文件中以不区分大小写的方式进行比较。
    • 你在哪里添加这些行?
    • 我已经能够使用:"source" : "/[Hh][Oo][Ll][Ii][Dd][Aa][Yy]2020" 用于非动态链接,但是当我尝试对 dynamicLinks 前缀配置使用相同类型的解决方案时:"source": "/[Ll][Ii][Nn][Kk][Ss]/**","dynamicLinks": true 我没有得到结果期待。
    【解决方案2】:

    Firebase 托管区分大小写。它没有不区分大小写的选项。

    最好的办法是从源头解决问题并确保所有文件的命名一致。 SuperUser 上的这个问题可能会有所帮助:https://superuser.com/questions/599955/make-every-file-in-a-directory-structure-lowercase-windows

    【讨论】:

    • 是的,这就是我害怕的。实际上,我确实将它们全部装箱,我只是希望它们适用于任何组合。我将提交功能请求以添加不区分大小写的选项。
    • 嘿,弗兰克,我发现了一种(主要)通过重定向处理此问题的方法,并将其作为单独的答案发布……这不是我想要的,但它是 99% 的解决方案。跨度>
    【解决方案3】:

    我刚刚发现有一种方法可以使用 Firebase 托管添加重定向(详情请点击此处:https://www.firebase.com/docs/hosting/guide/url-redirects-rewrites.html),我可以有效地使用它来解决 99% 的问题。

    我添加了这样的重定向:

    {
       "source" : "/foo",
       "destination" : "/Foo",
       "type" : 301
    }
    

    因此,如果有人输入小写版本,他们会得到 301 到正确的链接。像魅力一样工作!

    【讨论】:

    • 酷。我不认为它会满足您的需求,但如果可以的话:太棒了!
    猜你喜欢
    • 2017-01-20
    • 2021-09-11
    • 2020-03-17
    • 2014-06-10
    • 1970-01-01
    • 2023-03-21
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多