我是React的新手,我正在尝试在我的应用中制作页面路线。 当我按下链接时,它可以正常工作,但当我输入网址时,无法找到该页面。
顺便说一句,它适用于hashRouter,但我正在尝试使用BrowserRouter。
我没有使用webpack作为服务器,我使用它只是为了包装我的项目,因为在生产中服务器将是apache所以我是 目前正在使用WAMP作为我的服务器。
任何想法发生了什么?
import React from "react";
import { BrowserRouter as Router, Route, Link, Switch } from 'react-router-dom';
import Header from "./Header";
import Footer from "./Footer";
import Menu from "./Menu";
//Import Pages
import Home from "./home/Home";
import Top from "./top/Top";
export default class Layout extends React.Component{
render(){
return(
<Router>
<div class="wrp">
<Menu/>
<section class="left">
<Header/>
<Switch>
<Route exact path="/" component={Home} />
<Route path="/top" component={Top} />
</Switch>
<Footer/>
</section>
</div>
</Router>
);
}
}
这就是我将它呈现给DOM的方式:
import React from "react";
import ReactDOM from "react-dom";
import Layout from "./components/Layout";
const app = document.getElementById('app');
ReactDOM.render(<Layout/>,app);
修改 解决问题,必须在根目录中创建一个.htaccess文件。
RewriteEngine On
RewriteBase /
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-l
RewriteRule ^.*$ / [L,QSA]