首页 > 解决方案 > 404 未找到页面 - reactjs

问题描述

我在服务器上上传了我的网站,我的网站运行良好。但我有一个问题。

A当我从 route去 route 时BB也会加载组件。但是当我复制我的B组件 url 时,我得到了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。

标签: javascriptreactjs

解决方案


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

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

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


推荐阅读