How to deploy a nextjs application on cpanel?

I followed these steps to deploy my nextjs on cPanel.

  1. go to package.json and add this line: "homepage": "http://afsanefadaei.ir"

  2. run next build to have .next folder as my build folder

  3. go to cpanel >> file manager >> public_html folder and upload the contetn of .next folder to this directory

  4. add or edit this file: .htaccess to:

    enter image description here

but when I go to the website I face this:

enter image description here

Do you know what is wrong with this?


I uploaded out (which gets generated doing npm run build && npm run export) folder to public_html and created .htaccess file like

<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>

It worked for me 😁

Problem: When I refresh the page on some different route let's say /about, it brings the index.js page contents but URL doesn't change to /


  1. Your .next doesn't have index.html file.
  2. Seems like you have server side (mostly using nodejs), but unfortunately you couldn't run that server side from cpanel.
  3. As I know, you should use next export instead of next build if you tend to have frontend side only.

But the most important thing is number 1, make sure you have index.html inside your .next folder.