Làm thế nào để triển khai một ứng dụng nextjs trên cpanel?
Tôi đã làm theo các bước sau để triển khai nextjs của mình trên cPanel.
vào package.json và thêm dòng này:
"homepage": "http://afsanefadaei.ir"chạy
next buildđể có.nextthư mục làm thư mục xây dựng của tôiđi đến
cpanel >> file manager >> public_htmlthư mục và tải lên liên kết của.nextthư mục vào thư mục nàythêm hoặc chỉnh sửa tệp này:
.htaccessthành:
nhưng khi tôi truy cập trang web, tôi phải đối mặt với điều này:
Bạn có biết điều gì là sai với điều này?
Trả lời
- Của bạn
.nextkhông có tệp index.html. - Có vẻ như bạn có phía máy chủ (chủ yếu sử dụng nodejs), nhưng tiếc là bạn không thể chạy phía máy chủ đó từ cpanel.
- Như tôi biết, bạn nên sử dụng
next exportthay vìnext buildnếu bạn có xu hướng chỉ có mặt trước.
Nhưng điều quan trọng nhất là số 1, hãy đảm bảo rằng bạn có index.htmlbên trong .nextthư mục của mình .
Tôi đã tải lên thư mục out(được tạo đang làm npm run build && npm run export) public_htmlvà tạo .htaccesstệp như
<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>
Nó đã làm việc cho tôi 😁
Vấn đề: Khi tôi làm mới trang trên một số lộ trình khác, giả sử
/about, nó mang đếnindex.jsnội dung trang nhưng URL không thay đổi thành/
Triển khai nó như một ứng dụng NodeJS.