当前位置: 首页 > 知识库问答 >
问题:

404找不到页面-reactjs[重复]

萧煜
2023-03-14

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

当我从路由B转到路由A时,B组件也被加载了。但是当我复制我的B组件url时,我得到了404未找到页面

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

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

我有一个404未找到页面

我的路线:

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>
  )
}

我的应用程序。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。

共有2个答案

施权
2023-03-14

.htaccess文件为我解决了相同的问题:

RewriteEngine On

# remove www from host
RewriteCond %{HTTP_HOST} ^www\.(.+)
RewriteCond %{HTTPS}s/%1 ^(on(s)|offs)/(.+)
RewriteRule ^ http%2://%3%{REQUEST_URI} [L,R=301]

# force HTTPS
RewriteCond %{HTTPS} =off
RewriteRule ^ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]

# Don't rewrite files
RewriteCond %{REQUEST_FILENAME} -f
RewriteRule ^ - [L]
# Rewrite everything else to index.html
RewriteRule ^ index.html [L]
轩辕实
2023-03-14

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

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

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

 类似资料:
  • 我有以下错误 未找到页面(404)请求方法:GET请求URL:http://127.0.0.1:8000/使用Decoder.urls中定义的URLconf,Django尝试了这些URL模式,顺序如下:form.html[name='form1']hl7[name='hl7']空路径与这些都不匹配。您会看到这个错误,因为您的Django设置文件中有DEBUG=True。将其更改为False,Dja

  • 当我使用eclipse启动Tomcat9,然后导航到http://localhost:8080时,它会给出404页的not found并抛出错误:“origin server dot find a current representation for the target resource or is not welligen to display that ixist”。但是,当我转到tomca

  • 我是一名学习使用jsp和Servlet构建Web应用程序的学生。一个月以来,我的Web应用程序项目一直运行良好,但今天它的行为突然变得奇怪了。当我提交jsp页面时,它无法找到我的servlet。我已经使用servlet注释来映射请求。 以下是我的JSP:- 以下是我的servlet:- 以下是我的控制台日志:-

  • 问题内容: 我目前在Go中工作。我在本地计算机上创建了一个Web服务器。我按照此页面上的说明在Go Web应用程序中渲染CSS,但仍然出现404错误,程序似乎无法找到我的css文件在哪里。我的目录如下。 在文件夹contains中,还包含。 我文件中的代码如下。 当我转到404页面时,找不到页面。我还使用模板来呈现html代码。模板在文件夹中 html代码如下: 问题答案: 由于您没有为文件夹指定

  • 我有一个错误。我想启动npm创建-反应-应用程序,但它不工作。 我是一个窗口用户。但我安装了ubuntu并建立了linux环境。 所以我打开了它的窗口终端(wsl)并编写了npm create-react-app。 我不知道为什么它不起作用。。在此处输入图像描述

  • 这是我在SpringMVC中使用Maven的第一个应用程序。下面是应用程序结构。 控制器代码: 当我点击index.jsp中的链接时,页面应该被遍历到helloworld.jsp