反应中带有参数的路线

时间:2020-04-24 14:17:24

标签: reactjs react-router

我正在使用BrowserRouter和带有参数[xyz /:id]的路由,如下所示。在本地主机中,这很好,但是当我在生产环境中部署页面时,无法打开xyz /:id。请帮助解决。 我不想使用HashRouter,因为哈希具有与生产中的安全性相关的问题。

代码段

Index.js

 <Router basename="/my-app">
    <App />
  </Router>,

App.js

<Switch>
          <Route exact={true} path="/" component={Home} />
          <Route exact={true} path="/xyz/:id" component={MyPage} />
          <Route component={Invalid} />
        </Switch>

1 个答案:

答案 0 :(得分:0)

您需要将所有请求路由到index.html文件。例如,如果要将应用程序部署到Apache Web服务器,则可以将.htaccess文件添加到网站的根目录,并在其中写入以下代码行。

RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ /index.html [L,QSA]