RewriteEngine On
# Need to disable DirectoryIndex to avoid rewriting directory URL to index.html
DirectoryIndex disabled
# Redirect home page request to the NextJS server
RewriteCond %{REQUEST_URI} ^/$
RewriteRule ^(.*)$ http://127.0.0.1:4002/ [P,L]
# Redirect all other requests to the NextJS server with the URI appended
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ http://127.0.0.1:4002/$1 [P,L]
5条答案
按热度按时间qyzbxkaa1#
我上传了
out
(它得到生成npm run build && npm run export
)文件夹到public_html
,并创建了.htaccess
文件,如对我很有效😁
问题:当我在不同的路由上刷新页面时,比如说
/about
,它会带来index.js
页面内容,但URL不会更改为/
j5fpnvbx2#
1.您的
.next
没有index.html文件。1.似乎你有服务器端(主要使用nodejs),但不幸的是你不能从cpanel运行服务器端。
1.据我所知,如果你倾向于只使用前端,你应该使用
next export
而不是next build
。但最重要的是第1点,确保您的
.next
文件夹中有index.html
。d5vmydt93#
我可以用上面的答案之一托管应用程序,但当我刷新页面时,应用程序将崩溃或转到初始路由。
这就是我解决这个问题的方法(解决方案取自next.js官方网站)。
1.使用
npm run build
构建next.js应用程序的生产版本1.在根文件夹中创建一个启动文件
app.js
并复制以下代码1.在cPanel上创建一个Node.js应用,并添加应用启动文件名x1c 0d1x
1.并启动应用程序。你完了!
更多信息请查看Next.js Custom Server的官方文档
zzoitvuj4#
将其部署为NodeJS应用程序。
w41d8nur5#
下面是一个完整的
.htaccess
,用于实现一个带有Apache重定向的Node.js应用程序。如果你的NextJS应用程序部署在next start
服务器上(监听特定的端口),这在cPanel上运行得很好。