React Router V4 - BrowserRoute URL不起作用

时间:2017-10-03 10:01:46

标签: javascript reactjs react-router react-router-v4

我是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]

0 个答案:

没有答案