Reactjs React路由器&x2B;子目录+;参数-如何使用/配置?

Reactjs React路由器&x2B;子目录+;参数-如何使用/配置?,reactjs,react-router,Reactjs,React Router,如何在服务器的子目录中配置react router以使用路由器参数 文件夹结构: SERVER (Root) | |- Some another site files | |- /contabilidade | | - react files (command npm run build) | | 想要的URL:[其中8是API服务的参数] 当我调用此URL时,导航器返回错误404 我的代码: index.js ReactDOM.render( <Browse

如何在服务器的子目录中配置react router以使用路由器参数

文件夹结构:

SERVER (Root)
|
|- Some another site files
|
|- /contabilidade
     |
     | - react files (command npm run build)
|
|
想要的URL:[其中8是API服务的参数]

当我调用此URL时,导航器返回错误404

我的代码:

index.js

ReactDOM.render(
    <BrowserRouter basename="/contabilidade">
        <Route path="/:id" component={App} />
    </BrowserRouter>,
document.getElementById('root'));
我正在使用react路由器5.0.0


一些想法?

在index.js中,确保指定了
bundle.js的绝对路径。如果使用相对路径,可能会得到404

此外,如果您正在使用nginx,则可以将以下内容添加到nginx.conf中:

location / {
            try_files $uri $uri/ /index.html =404;
        }
这将确保所有路由将重定向到index.html


出于开发目的,您可以使用
webpack
中的
historyAPIFallback
选项。如果您在index.js中使用的是,请确保您指定的是
bundle.js
的绝对路径。如果使用相对路径,可能会得到404

此外,如果您正在使用nginx,则可以将以下内容添加到nginx.conf中:

location / {
            try_files $uri $uri/ /index.html =404;
        }
这将确保所有路由将重定向到index.html


出于开发目的,您可以使用
webpack
中的
historyAPIFallback
选项,如果您正在使用该选项

我不确定问题到底是什么,但您需要确保您的服务器为所有路由提供
index.html
文件。我不确定问题到底是什么,但是您需要确保您的服务器为所有路由提供
index.html
文件。我没有使用nginx。。我没有找到bundle.js。。。我该怎么做?我认为react路由器将参数[在本例中为数字8]与路由混淆了……您是否正在使用create react app?另一个解决方案是在部署的位置添加环境变量。例如,如果设置如下变量:
PUBLIC\u URL=https://doces.jrpti.com/contabilidade“
然后更新所有路由以使用此选项:
另外,我可以问一下,如果不是nginx,您使用的是什么服务您的应用程序吗?您的建议不起作用。。我不知道nginx。在我的应用程序中,我没有安装任何东西。对不起,我是新来的,有些事情我不知道。。你能解释一下吗?我没有用nginx。。我没有找到bundle.js。。。我该怎么做?我认为react路由器将参数[在本例中为数字8]与路由混淆了……您是否正在使用create react app?另一个解决方案是在部署的位置添加环境变量。例如,如果设置如下变量:
PUBLIC\u URL=https://doces.jrpti.com/contabilidade“
然后更新所有路由以使用此选项:
另外,我可以问一下,如果不是nginx,您使用的是什么服务您的应用程序吗?您的建议不起作用。。我不知道nginx。在我的应用程序中,我没有安装任何东西。对不起,我是新来的,有些事情我不知道。。你能解释一下吗?