Firebase 托管重定向网站没有所有页面
Posted
技术标签:
【中文标题】Firebase 托管重定向网站没有所有页面【英文标题】:Firebase hosting redirected website doesnt have all pages 【发布时间】:2020-12-06 05:25:06 【问题描述】:我有一个由 Firebase 托管的 React 应用程序,并购买了一个自定义域 www.encor.cc,以便我的应用程序可以部署在此 URL 上。然而,即使在将我的自定义 url (encor.cc) 重定向到 firebase 部署的 web url (adripa-4771c.web.app) 之后,encor.cc 除了主 '/' 页面外,其他所有页面都没有。
如果我现在访问 encor.cc,只有登录页面有效,其他所有页面都给我一个 404。但是,所有页面都在 adripa-4771c.web.app 中有效
关于如何解决此问题的任何建议?谢谢
这是我的 Firebase 控制台概览:
编辑:
这就是我使用 react-router-dom 设置链接的方式。另外,我的应用程序是使用 create-react-app 设置的。
ReactDOM.render(
<ThemeProvider theme=theme>
<Router history=history>
<Switch>
<Route exact path="/" component=Landing />
<Route exact path="/register" component=Register />
<Route exact path="/login" component=Login />
<Route exact path="/admin" component=Admin/>
<Route exact path='/:user' component=User/>
<Route exact path='/l/terms' component=Terms/>
<Route exact path='/l/privacy' component=Privacy/>
<Route exact path='/l/contact' component=Contact/>
<Route exact path='/l/blog' component=Blog/>
<Route exact path='/l/faq' component=Faq />
<Route exact path='/l/about' component=About/>
<Route exact path='/l/plans' component=Plans/>
<Route exact path='/l/forgot' component=Forgot/>
</Switch>
</Router>
</ThemeProvider>,
document.getElementById('root')
);
【问题讨论】:
不确定您是如何构建托管文件夹的。 encor.cc/l/plans我被重定向到domain.com/I/plans
你可以尝试将所有html文件保存在公共文件夹中并重试
嗯.. 我该怎么做?哈哈;我所有的链接都在 index.js 中设置,因为我已经用代码更新了我的帖子
如果我访问 adripa-4771c.web.app
并单击“计划”,我会得到 404,所以我看到两个域之间的行为相同。 404 建议您需要将主机重写配置为为所有请求提供index.html
。 firebase.google.com/docs/hosting/full-config#rewrites
【参考方案1】:
添加这个似乎可以解决问题
"rewrites": [
"source": "**",
"destination": "/index.html"
]
【讨论】:
以上是关于Firebase 托管重定向网站没有所有页面的主要内容,如果未能解决你的问题,请参考以下文章
如何使用 Firebase 身份验证和托管将登录用户重定向到子域?
可以根据身份验证状态自定义Firebase托管行为(例如,重定向)吗?