我使用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的事实有关。因此,我发现了这些潜在的解决方法:
我以为这些解决方案中的任何一种都可以,但是没有用。
我从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路由在刷新时无法正常工作。单击链接可以按预期工作,但是如果页面为...
如果您使用的是Apache服务器,则问题可能是您的.htaccess文件,当您使用React路由器时,在React中创建或声明的路由在服务器中不存在,因此我们必须配置请求,以便每个转到index.html并在找不到页面时在React中显示404。
原来我正在使用Windows IIS服务器。我是Web服务器领域的新手,并且不知道我在使用IIS服务器。