部署在子目录中的Create React App如何与url参数一起使用?

问题描述 投票:1回答:1

关于文档,将create react app部署到Apache subfodler中涉及:

.htaccess文件中添加以下行:

Options -MultiViews
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^ index.html [QSA,L]

在package.json文件中添加以下行:

"homepage": "/mySubdirectory/"

在路由器中添加以下行:

basename={"/mySubdirectory/"}

据我了解,这应该在https://www.example.com/mySubdirectory/上显示该应用程序。

关于此设置,我认为我们告诉服务器我们要显示在npm run build期间创建的index.html,并且我们告诉应用程序执行javascript重定向到“ https://www.example.com/mySubdirectory/在安装应用程序之前。

我对吗?

如果我们尝试使用URL中的参数访问应用程序(出于跟踪目的),应该怎么办? 例如,如果我们要访问“ https://www.example.com/mySubdirectory/?source=campaign1

当我在Amazon S3,Heroku,Netlify上尝试此设置时-请注意,他们显然不需要Apache重定向 -参数已保存。 当我在Apache服务器上尝试重定向(带有重定向)时,参数丢失了,我也不明白为什么。

也许我误解了服务器重定向,JS重定向或两者都发生了什么。

你们有什么主意吗?

javascript reactjs apache create-react-app
1个回答
0
投票

问题解决了! 由于某种原因,在apache服务器上设置了从https://www.example.com/mySubdirectory/https://www.example.com/mySubdirectory/index.html的301重定向。 通过重定向,参数丢失了(仍然不知道为什么...)。 没有它,一切都会按预期进行。 因此,如果人们感兴趣,则以上设置可在Apache服务器上运行。

© www.soinside.com 2019 - 2024. All rights reserved.