Firebase托管重写无法正常工作

时间:2020-08-04 07:15:08

标签: firebase url-rewriting firebase-hosting

我目前具有以下配置:

// firebase.json   
{
        "hosting": [
            {
                "rewrites": [{
                    "source": "/articles{,/**}",
                    "destination": "/articles"
                },
                {
                    "source": "**",
                    "destination": "/index.html"
                }]
            }
        ]
 }

如果我去mysite.com/articles/<articleID>,那么当我期望被带到mysite.com时,我将被带到mysite.com/articles。我在做什么错?

I'm following this documentation.

2 个答案:

答案 0 :(得分:1)

执行以下步骤后,我能够解决该问题:

  1. 将我的来源从/articles{,/**}更改为/articles/**
  2. 将我的目的地从articles更改为articles.html,这是有效的本地文件
  3. 意识到对firebase.json的更改在重新启动之前不会改变Firebase Hosting模拟器的行为。

答案 1 :(得分:0)

我相信有两种可能的原因。

  1. 您已将托管设置为数组而不是对象(尽管我不确定这是否是一个问题)
  2. 第二,正如您在共享的文档中看到的那样,在标题对函数的直接请求上方,它表示目标文件必须存在,并且mysite.com/articles不存在计算为本地文件,它会被第二个重写规则捕获并重定向到index.html。