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>
@simplenotezy
Copy link

Can you elaborate on what this does?

@mariojankovic
Copy link
Author

It's my htaccess setup for serving nuxt.js in SPA mode. It will redirect any /link to index.html.

@phmLabs
Copy link

phmLabs commented Mar 4, 2020

Thx for the snippet.

Additionally, you have to add something like

<Directory /var/www/html>
    Options Indexes FollowSymLinks
    AllowOverride All
    Require all granted
</Directory>

to your virtual host config.

@balbalcode
Copy link

hello sir, i was build my own project to static page. where i can set and save this .htaccess file ?

my poject directory
/css
/fonts
/img
/js
favicon
index.html

@a-zog
Copy link

a-zog commented Jun 10, 2020

Thanks again for this snippet, would you please tell us where did you create the .htaccess?

@balbalcode
Copy link

Hello a-zog

thank very much for your response, here's my project structure with .htaccess file

/css
/fonts
/img
/js
favicon.ico
.htaccess
index.html

@a-zog
Copy link

a-zog commented Jun 10, 2020

Thank you !

@mariojankovic
Copy link
Author

Yes, just put the .htaccess file in the same dir where your index.html is being served.

@Massay
Copy link

Massay commented Oct 20, 2020

Thanks!

@anton-zm
Copy link

anton-zm commented Jan 3, 2021

Thank you! May be you have the same .htaccess for SSR mode?

@tsulatsitamim
Copy link

tsulatsitamim commented Feb 12, 2021

Thx for the snippet.

Additionally, you have to add something like

<Directory /var/www/html>
    Options Indexes FollowSymLinks
    AllowOverride All
    Require all granted
</Directory>

to your virtual host config.

can you share full virtual host example? @phmLabs

@setuk
Copy link

setuk commented Jul 15, 2021

Thanks for this was searching for a solution for a while and this did the job!

@xetra11
Copy link

xetra11 commented Feb 15, 2022

Can someone explain to me where you but the .htaccess file? Did you put it into the .nuxt folder after yarn build or what?

@mariojankovic
Copy link
Author

@xetra11 the root folder of your server.

@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