Skip to content

Instantly share code, notes, and snippets.

@mariojankovic
Created June 21, 2019 10:36
Show Gist options
  • Save mariojankovic/e39cce4fed0db39e21e29a1585fd2155 to your computer and use it in GitHub Desktop.
Save mariojankovic/e39cce4fed0db39e21e29a1585fd2155 to your computer and use it in GitHub Desktop.
.htaccess for Nuxt.js under apache
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteRule ^index\.html$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.html [L]
</IfModule>
@xetra11
Copy link

xetra11 commented Feb 15, 2022

@mariojankovic

I am deploying my Nuxt.js app as container using Docker.
Maybe you can help me out with all that.

.htaccess file

AuthName "Dialog prompt"
AuthType Basic
AuthUserFile .htpasswd
Require valid-user

.htpasswd file

dev:$apr1$Ou.IWaht$FKk1V4EyiEF6O.QsB9pMK1

I did npm build and created the /dist folder therefore.
I placed the files here:

  • dist/.htaccess <<<
  • dist/.htpasswd <<<
  • dist/index.html

I then start the production server locally via npm start.
When I open the localhost:3000 it opens normally without password prompt beforehand.

Can you might figure out what I did wrong?

@mariojankovic
Copy link
Author

@xetra11 I can't tell what's wrong without your docker file. The htaccess file works with an apache server. I'd suggest you avoid doing that and instead host the website through dokku (https://nuxtjs.org/deployments/dokku) or an nginx powered docker instance like this: https://nuxtjs.org/deployments/nginx/

@tuongpgjz
Copy link

Thanks, it works !

@Klaswh
Copy link

Klaswh commented Feb 2, 2023

The last line in the htaccess file was problematic for me, as I got double up in the error handling, i.e, got both app out and its slot and error page (the error page show up last).
This as last line seems to function better for with the error handling (it also seems faster):

RewriteRule (.*) index.html$ [L]

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment