404 Not Found页面 - reactjs

时间:2018-04-27 10:45:31

标签: javascript reactjs

我在服务器上传了自己的网站,我的网站运行正常。但我有一个问题。

当我从路由A开始路由B时,也加载了B个组件。但是当我复制我的B组件网址时,我得到404 Not Found page

例如,当我复制/粘贴此网址时:

http://test.shadyab.com/offers/Arya-Ceremonial-Pool-VIP-off

我得到了404 Not Found page

我的路线:

import React from 'react'
import { Provider } from 'react-redux'
import { Router, Route, IndexRoute } from 'react-router'
import configureStore from 'store/configureStore'

import App from 'containers/App'
import Home from 'containers/Home'
import Detail from 'containers/Detail'
import Cart from 'containers/Cart'
import Login from 'containers/Login'
import Profile from 'containers/Profile'
import Category from 'containers/Category'

export default function(history) {
  return (
    <Router history={history}>
      <Route path="/" component={App}>
        <Route exact path="/offers/:id" component={Detail} />
        <Route path="/cart/cart" component={Cart} />
        <Route path="/login" component={Login} />
        <Route path="/profile/:section" component={Profile} />
        <Route path="/category/:city/:category" component={Category} />
        <IndexRoute component={Home} />
      </Route>
    </Router>
  )
}

我的app.js

import 'babel-polyfill'

import React from 'react'
import ReactDOM from 'react-dom'
import { browserHistory } from 'react-router'

import configureStore from 'store/configureStore'
import createRoutes from 'routes/index'
import { Provider } from 'react-redux'
import Immutable from 'immutable'
import _ from 'lodash'

let reduxState = {}
if (window.__REDUX_STATE__) {
  try {
    let plain = JSON.parse(unescape(__REDUX_STATE__))
    _.each(plain, (val, key)=> {
      reduxState[key] = Immutable.fromJS(val)
    })
  } catch (e) {
  }
}

const store = configureStore(reduxState)

ReactDOM.render((
  <Provider store={store}>
    { createRoutes(browserHistory) }
  </Provider>
), document.getElementById('root'))

即使用户想要刷新当前网页,他也会收到404错误。

我的服务器语言是php。

1 个答案:

答案 0 :(得分:0)

您需要将服务器配置为始终为所有网址提供index.html文件。

以下是如何在NodeJS中执行此操作的示例之一。

https://stackoverflow.com/a/25374786/3187014