routejs Route Not Found Запрошенный URL - PullRequest
0 голосов
/ 29 марта 2019

Я использую Apache 2.2 для размещения моего приложенияactjs ... в моем App.js у меня есть этот код


import React, { Component } from 'react';
import './App.css';
import { BrowserRouter as Router,
        Route,
        Link,
        Switch,
        Redirect
 } from 'react-router-dom';
import Home from './components/Home';
import Cat from './components/Cat';

const NoMatch = ({ location }) => (
  <div>
        <h3>No match for <code>{location.pathname}</code> can be found.</h3>
  </div>
)

class App extends Component {
  render()
    return (
      <Router>
        <div>
          <Navbar />
        <Switch>
          <Route exact path="/" component={Home} />
          <Route exact path="/home" component={Home} />
          <Route exact path="/cat" component={Cat} />
          <Route component={NoMatch} />
        </Switch>
        </div>
      </Router>
    );
  }
}

export default App;


Затем я использую npm run build и все в моей папке сборки перемещается в мойПапка DocumentRoot / var / www / html / home

В этом / var / www / html / home у меня также есть файл .htaccess, и у меня есть

  RewriteEngine On
  RewriteCond %{DOCUMENT_ROOT}%{REQUEST_URI} -f [OR]
  RewriteCond %{DOCUMENT_ROOT}%{REQUEST_URI} -d
  RewriteRule ^ - [L]
  RewriteRule ^ ./index.html

Когда я идув / Home это хорошо, и когда я нажимаю обновить, это нормально.но затем я нажимаю на ссылку, и она приводит меня к / cat, и снова все в порядке, но затем, когда я обновляю, он показывает

Not Found Запрошенный URL / cat не был найден на этом сервере.

Кто-нибудь сталкивался с этой проблемой?Я вижу в Интернете так много о том, что файл .htaccess решает проблему, но у меня он вообще не работает

...