在 Apache 服务器上处理 React Router

IT技术 reactjs apache react-router
2021-04-28 06:22:12

我在为 Apache 服务器上的 React 生成的 URL 路径重定向 404 错误时遇到问题。

设想:

假设我有一些由 React Router 生成的 URL:www.somewebsite.com/apps

问题

如果最终用户单击刷新,我如何重定向回 www.somewebsite.com/apps?

我尝试过的:

到目前为止,我能够将用户重定向到 www.somewebsite.com。我只需要在重定向之前获取路径。

1个回答

设置 Apache 重写规则以重写对 React 应用程序 (index.html) 的所有请求。

把它放在你的 vhost 配置或 .htaccess 文件中。

<IfModule mod_rewrite.c>
    Options -MultiViews

    RewriteEngine On

    RewriteCond %{REQUEST_FILENAME} !-f
    RewriteRule ^ index.html [QSA,L]
</IfModule>

现在,当用户在任何路由上按下刷新(或直接访问)时/apps,您的 React 应用程序将被加载并且路由器将显示相关路由。

注意:RewriteCond排除静态文件被重写,这是必要的。