在托管商上托管 Nextjs

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

我想在 Hostinger 上托管 Nextjs 网站,因此我在下一个配置中使用

output: 'export'
将 Nextjs 作为静态导出到(出)目录中

我将静态文件上传到托管商上并且成功了。 但是一旦刷新除主页之外的任何页面,Hostinger 就无法提供该页面并显示 404 页面

那么这里有什么问题以及如何调试它

reactjs next.js web-hosting nextjs14
1个回答
0
投票

我发现问题是 url 末尾没有明确包含

.html
,因为例如当路由是
/test
时,托管主机上的 apache 正在寻找目录调用
test
并且有
index.html
文件,但相反nextjs 导出带有名称的 html 文件
test.html
,这样 apache 就找不到这个目录并返回
404

解决方案是在

.htaccess
目录中创建
public_html
文件并配置 apache 按名称提供 HTML 文件

RewriteEngine On 
RewriteCond %{REQUEST_FILENAME}.html -f 
RewriteRule !.*\.html$ %{REQUEST_FILENAME}.html [L] 
© www.soinside.com 2019 - 2024. All rights reserved.