Godaddy cPanel React - 显示 404 的新页面

问题描述

我使用 react 创建了我的第一个单页应用程序 (SPA) 静态网站,并将其托管在 Godaddy 上。它已经运行了大约一个月并且运行良好。

几天前,我创建了一个“联系我”页面用户可以在其中填写表单,然后使用 Nodemailer 向我发送电子邮件

无论如何,当我完成“联系我”页面并按照指示将所有内容上传npm run build 文件夹中的 cPanel 时,我运行了 public_html。主页可以正常工作,但“/contactus”页面返回 404。

我和 Godaddy 谈过,他们的第一个建议是添加 .htaccess 文件,将所有内容从 HTTP 重定向到 HTTPS。我这样做了,它仍然返回 404。

这里是.htaccess文件内容

RewriteEngine On 
RewriteCond %{SERVER_PORT} 80
RewriteCond %{HTTP_HOST} ^(www\.)?coolexample\.com
RewriteRule ^(.*)$ https://www.coolexample.com/$1 [R,L]

我第二次与 GoDaddy 交谈,他们告诉我在 index.html 中找不到“/ContactUs”。我以为 npm run build 处理了这个?

当我使用 npm start 并且它在我的本地主机上运行时,contactus 链接有效。

我的 app.js 代码如下所示:

import React from "react"
import {AuthProvider} from "../contexts/AuthContext"
import {browserRouter as Router,Switch,Route} from "react-router-dom"
import ContactUs from "./ContactUs";
import Home from "./Home"
import ForgotPassword from "./ForgotPassword"
import NavigationBar from "./NavigationBar";
import NoMatch from "./NoMatch";

function App() {
    return (
        <React.Fragment>
            <AuthProvider>
                <NavigationBar/>
            </AuthProvider>
            <div>
                <Router>
                    <AuthProvider>
                        <Switch>
                            <Route exact path="/" component={Home}/>
                            <Route exact path="/ContactUs" component={ContactUs}/>                            
                            <Route path="/forgot-password" component={ForgotPassword}/>
                            <Route component={NoMatch}/>
                        </Switch>
                    </AuthProvider>
                </Router>
            </div>
        </React.Fragment>
    )
}

我错过了什么?

感谢任何和所有帮助/方向。

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)