Wie kann ich eine nextjs-Anwendung auf cpanel bereitstellen?
Ich habe diese Schritte ausgeführt, um meine nextjs auf cPanel bereitzustellen.
Gehen Sie zu package.json und fügen Sie diese Zeile hinzu:
"homepage": "http://afsanefadaei.ir"
Führen Sie
next build
den.next
Ordner als Build-Ordner ausGehen Sie zum
cpanel >> file manager >> public_html
Ordner und laden Sie den Inhalt des.next
Ordners in dieses Verzeichnis hochHinzufügen oder Bearbeiten dieser Datei:
.htaccess
zu:
Aber wenn ich auf die Website gehe, sehe ich Folgendes:
Weißt du was daran falsch ist?
Antworten
- Ihre
.next
Datei index.html ist nicht vorhanden. - Scheint, als hätten Sie eine Serverseite (meistens mit nodejs), aber leider konnten Sie diese Serverseite nicht über cpanel ausführen.
- Wie ich weiß, sollten Sie
next export
anstelle von verwenden,next build
wenn Sie dazu neigen, nur Frontend-Seite zu haben.
Aber das Wichtigste ist Nummer 1. Stellen Sie sicher, dass Sie index.html
in Ihrem .next
Ordner haben.
Ich habe out
einen npm run build && npm run export
Ordner hochgeladen (der dabei generiert wird ) public_html
und eine .htaccess
Datei wie erstellt
<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>
Es hat bei mir funktioniert 😁
Problem: Wenn ich die Seite auf einer anderen Route aktualisiere
/about
, wird beispielsweise derindex.js
Seiteninhalt angezeigt, aber die URL ändert sich nicht zu/
Stellen Sie es als NodeJS-Anwendung bereit.