0

我在 netlify 中部署了一个静态站点,但是我在开发模式下定义的路由,只在 chrome 浏览器中运行,其余浏览器返回 404 - page not found。

import React, { Component } from 'react';
import { Navbar , NavItem } from 'react-materialize';
import { Link } from 'react-router-dom';
class NavBar extends Component {
  render() {
    return (
        <div>
            <Navbar brand='MT' right style={{backgroundColor:'#7f8fa6'}}>
            <NavItem  href="/" to="/">About Me</NavItem>
            <NavItem  href="/services" to="/services">My Services</NavItem>
            <NavItem href="/works" to="works">My Works</NavItem>
            <NavItem  href="/videos" to="videos">My Videos</NavItem>
            <NavItem href="/request" to="request">Request a Quote</NavItem>
             </Navbar>
      </div>
    )
  }
}
export default NavBar;

这是我的 Netlify 网址。 https://mithilesh-tarkar.netlify.com/

它在移动设备和笔记本电脑上的 Chrome 浏览器上打开。但它不会在 safari 和 firefox 上打开。为什么会这样???有人可以帮忙吗?

4

1 回答 1

1

索引页面是反应路由器可以处理路由的地方,我认为会出现这个问题,因为如果您以某种方式路由说“/ store”,如果您不采取以下步骤,它实际上会将您路由到“/ store”而不是您的从索引页面开始的反应路线,至于为什么它适用于某些浏览器而不适用于其他浏览器,我不确定。很想知道。

通过检查您的网站,(不错的网站),您似乎已经弄清楚了。

但其他访问此页面时遇到相同问题的人可以尝试在您的公用文件夹中创建一个名为 _redirects 的文件。

然后在该文件中添加:

/* /index.html 200

更多信息可以在这里找到: https ://www.crookm.com/2018/02/one-page-app-routing-on-netlify.html

https://www.netlify.com/docs/redirects/#history-pushstate-and-single-page-apps

于 2018-06-16T19:44:02.720 回答