gpt4 book ai didi

reactjs - 使用 .htaccess 将除一个路由之外的所有路由转发到 react-router v4 的主页

转载 作者:行者123 更新时间:2023-12-05 07:35:36 25 4
gpt4 key购买 nike

我正在使用 create-react-appreact-router v4。我有一个有很多路径的站点,但是,一个路径是一个名为 assets 的文件夹的文字路径,其中提供图像、图标等。

网站结构是这样的:

.. [root]
assets [dir]
index.html [file]

但是,我有许多指向 CRA 应用程序的 index.html 的虚拟 URL。我如何使用 .htaccess 将除 assets 中的请求之外的所有请求转发到 index.html 文件?

或者,是否有处理这种情况的更好/最佳实践?

我试过了,但它给出了 500 错误。

Options -Indexes
RewriteEngine On

# Forward to HTTPS
RewriteCond %{HTTPS} off
RewriteCond %{HTTP_HOST} example\.com [NC]
RewriteRule ^ https://example.com%{REQUEST_URI} [R,L]
RewriteCond %{HTTP_HOST} ^www\.example\.com [NC]
RewriteRule ^ https://example.com%{REQUEST_URI} [R,L]

# Forward to React
RewriteBase /
RewriteCond %{REQUEST_URI} !^/(assets)(/|$)
RewriteRule ^(.*)$ / [L,QSA]

最佳答案

改变这一行:

RewriteCond %{REQUEST_URI} !^/(assets)(/|$)

通过这个:

RewriteCond %{REQUEST_URI} !^/(assets/?|$)

因为您已经排除了 assets 目录,但此 ^(.*)$ 仍将捕获任何其他内容,甚至是已通过此规则的请求,这将使循环.

注意:清除浏览器缓存然后测试

关于reactjs - 使用 .htaccess 将除一个路由之外的所有路由转发到 react-router v4 的主页,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49439935/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com