完整错误消息:未找到 在此服务器上找不到所请求的 URL。 此外,尝试使用 ErrorDocument 处理请求时遇到 404 Not Found 错误。
我的问题是,当我将构建文件上传到 cpanel(通过 bluehost)时,当我尝试导航到反应中的不同页面时,我开始收到此错误。主页可以正常工作并显示所有应有的内容。我的本地主机没有这个问题,因为根据反应文档,开发服务器知道如何处理请求。我在互联网上到处研究了这个问题的答案,但似乎没有任何效果。
这是我的公共目录中的.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>
这是我的包裹。 json 文件:
我的构建文件已作为 zip 文件上传到 cpanel > public_html。所有文件均从构建文件夹中提取并移至 public_html 中。就像之前所说的那样,我的主页可以工作,但是当我导航到其他页面时,它就不能了。
npm 在没有 .htaccess 文件的情况下运行构建
在右上角的cpanel中有一个设置选项。选择设置并选中“显示隐藏文件”选项。 (还要确保您位于文档根目录中)
左上角有添加文件的选项。单击它并创建一个新的 .htaccess 文件。
将其粘贴到新文件中,保存它,您应该能够浏览您的网站而不会出现错误消息。希望我刚刚为您节省了 5 天的时间来解决这个问题。
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteRule ^index\.html$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.html [L]
</IfModule>
你刚刚救了我的命。 谢谢你。