【发布时间】:2019-10-18 14:25:31
【问题描述】:
我使用 GoDaddy (http://normaned.com) 部署了一个 React 网站,但我的 react-router 路由在刷新时无法正常工作。单击链接按预期工作,但如果刷新页面,则会显示 404 页面。我正在使用来自react-router 的BrowserRouter。
GoDaddy 托管计划是“使用 Plesk 进行经济型 Windows 托管”。不幸的是,我不是设置托管服务的人,而且我不确定我是否可以从 Plesk 更改为 cPanel 而无需额外的金钱成本……或者这是否是一种更接近解决我的问题的方法(即 Windows 与 Linux 托管)。
编辑 10/19:我现在意识到服务器是 Windows IIS 服务器,我需要一个 web.config 文件(不是 .htaccess 文件)。不过,我仍然不确定web.config 文件中需要包含哪些代码。
这是我的网站 GitHub 存储库:https://github.com/jenna-m/norman-ed
我尝试了在 *、GoDaddy 帮助论坛和其他地方找到的建议方法,但仍然无法正常工作。 以下是我尝试过的一些方法:
https://*.com/a/40591955/11995771
https://gist.github.com/alexsasharegan/173878f9d67055bfef63449fa7136042
我尝试将以下内容添加到 public_html 根目录中的 .htaccess 文件中:
<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 与 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/)。
【问题讨论】:
标签: reactjs .htaccess react-router plesk plesk-onyx