我在服务器上传了自己的网站,我的网站运行正常。但我有一个问题。
当我从路由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。
答案 0 :(得分:0)
您需要将服务器配置为始终为所有网址提供index.html
文件。
以下是如何在NodeJS中执行此操作的示例之一。