使用GoDaddy托管的React应用刷新页面时,react-router抛出404

问题描述 投票:0回答:2

我使用GoDaddy(http://normaned.com)部署了一个React网站,但我的react-router路由无法在刷新时出现问题。单击链接可以按预期工作,但是如果刷新页面,则会显示404页面。我正在使用BrowserRouter中的react-router

GoDaddy托管计划是“使用Plesk进行经济Windows托管”。不幸的是,我不是设置托管服务的人,并且我不确定是否可以在不增加成本的情况下从Plesk更改为cPanel ...或者这是否可以作为一种进一步解决我的问题的方法(即Windows与Linux托管)。

编辑10/19:我现在意识到该服务器是Windows IIS服务器,并且我需要一个web.config文件(而不是.htaccess文件)。不过,我仍然不确定web.config文件中需要添加什么代码。

这是我的网站的GitHub存储库:https://github.com/jenna-m/norman-ed


我已经尝试过在StackOverflow,GoDaddy帮助论坛和其他地方找到的建议方法,但仍然无法使用。 以下是我尝试过的一些事情:

https://stackoverflow.com/a/40591955/11995771

https://gist.github.com/alexsasharegan/173878f9d67055bfef63449fa7136042

我尝试将以下内容添加到.htaccess根目录下的public_html文件中:

<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteRule ^index\.html$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-l
RewriteRule . /index.html [L]
</IfModule>

我直接在Plesk中创建了.htaccess文件,请确保没有添加任何多余的字符(如本文中的建议(https://www.godaddy.com/help/what-is-htaccess-2504)] >>

[尝试解决了一点问题后,我意识到这可能与我使用Plesk vs cPanel的事实有关。因此,我发现了这些潜在的解决方法:

https://support.plesk.com/hc/en-us/articles/115001697373-Website-with-configured-htaccess-is-not-working-404-Not-Found

https://support.plesk.com/hc/en-us/articles/115003015833-Redirection-rules-in-htaccess-file-do-not-work-in-Plesk

我以为这些解决方案中的任何一种都可以,但是没有用。

我从Plesk支持(https://support.plesk.com/hc/en-us/articles/115000063989-Does-Plesk-support-Apache-web-server-for-Windows-)找到了这篇文章,这使我转到了这篇Microsoft文章(https://blogs.msdn.microsoft.com/azureossds/2015/04/23/converting-apache-htaccess-rules-to-iis-web-config-using-iis-manager-for-azure-websites/)。

我使用GoDaddy(http://normaned.com)部署了一个React网站,但是我的react-router路由在刷新时无法正常工作。单击链接可以按预期工作,但是如果页面为...

reactjs .htaccess react-router plesk plesk-onyx
2个回答
1
投票

如果您使用的是Apache服务器,则问题可能是您的.htaccess文件,当您使用React路由器时,在React中创建或声明的路由在服务器中不存在,因此我们必须配置请求,以便每个转到index.html并在找不到页面时在React中显示404。


0
投票

原来我正在使用Windows IIS服务器。我是Web服务器领域的新手,并且不知道我在使用IIS服务器。

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