Skip to content

Instantly share code, notes, and snippets.

@Prezens
Created April 2, 2019 07:40
Show Gist options
  • Save Prezens/f99fd28124b5557eb16816229391afee to your computer and use it in GitHub Desktop.
Save Prezens/f99fd28124b5557eb16816229391afee to your computer and use it in GitHub Desktop.
Apache .htaccess settings for Vue, vue-router
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteRule ^index\.html$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.html [L]
</IfModule>
https://router.vuejs.org/guide/essentials/history-mode.html#example-server-configurations
@rickslayer
Copy link

Thanks save me!

@bLind17
Copy link

bLind17 commented May 5, 2020

Thank you so much, I struggled a lot with this, not knowing the rewrite syntax yet!

@cardonacoder
Copy link

@HamidReazaNikoonia Thanks Bro!

@nlien
Copy link

nlien commented Jun 9, 2020

Thanks for the subfolder tip! Did the trick!

@KaueAlves
Copy link

How can I use this code and force https?

@kngai
Copy link

kngai commented Jul 17, 2020

Thanks for this example! Super helpful.

@mwandoski
Copy link

Thanks for this example, I was stuck

@EliseyMartynov
Copy link

Thanks!

@basswolfe
Copy link

I'm trying to do this in Bluehost where they are asking me to add an Apache handler. I have zero experience with this. They are asking for a handler and then an extension. I'm guessing it creates an area to add text and i can put that code in. Is this right? and do i need a special file name and/or file type? I have no clue what I'm doing here lol. Thanks!

@xianghongai
Copy link

xianghongai commented Sep 23, 2020

<IfModule mod_rewrite.c>
  RewriteRule ^(SUBDIRECTORY_FOO|SUBDIRECTORY_BAR)($|/) - [L]
  RewriteEngine On
  RewriteBase /
  RewriteRule ^index\.html$ - [L]
  RewriteCond %{REQUEST_FILENAME} !-f
  RewriteCond %{REQUEST_FILENAME} !-d
  RewriteCond %{REQUEST_FILENAME} !-l
  RewriteRule . /index.html [L]
</IfModule>

@HamidReazaNikoonia
Copy link

How can I use this code and force https?

RewriteCond %{HTTPS} off

@bjoechan
Copy link

Hello all,

I already have this in my .htaccess file

RewriteEngine On RewriteCond %{SERVER_PORT} 443 RewriteRule ^index.php(.*) http://abc.abcdef.com:49000/$1 [P,L] RewriteRule (.*) http://abc.abcdef.com:49000/$1 [P,L]

and how do I add this there?

RewriteEngine On RewriteBase / RewriteRule ^index\.html$ - [L] RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d RewriteRule . /index.html [L]

Hope someone can help and thanks :)

@sethidden
Copy link

If this is not working for you: make sure you enabled .htaccess files for the /var/www/html directory -- this is NOT enabled by default.

@yolfry
Copy link

yolfry commented Jan 6, 2021

Excelente

@shaan1974
Copy link

I try several htaccess but when you have a route who like like this :
"ec/loo/:id" => call url : "ec/loo/666"
"ec/moo/moo" => call url : "ec/moo/moo"
this htaccess is not working at all.

@Gwachukwu
Copy link

Thanks HamidReazaNikoonia

@gastinoking
Copy link

Thanks

@IlhomjonMuxtorov
Copy link

<IfModule mod_rewrite.c>
  RewriteRule ^(SUBDIRECTORY_FOO|SUBDIRECTORY_BAR)($|/) - [L]
  RewriteEngine On
  RewriteBase /
  RewriteRule ^index\.html$ - [L]
  RewriteCond %{REQUEST_FILENAME} !-f
  RewriteCond %{REQUEST_FILENAME} !-d
  RewriteCond %{REQUEST_FILENAME} !-l
  RewriteRule . /index.html [L]
</IfModule>

This is not work me

@IlhomjonMuxtorov
Copy link

if you have subfolder

<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /subdirectoryName
RewriteRule ^subdirectoryName/index\.html$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /subdirectoryName/index.html [L]
</IfModule>

This is work

@Malumbo21
Copy link

How about for subdomain

@HenriqueRib
Copy link

Thanks !!

@manfredjb
Copy link

Thank you so much

@miltonrey2
Copy link

I have a project in production and I had the problem that I could not refresh the page, this was the solution. Thanks!! 😄

@haansyah
Copy link

haansyah commented Apr 19, 2024

excuse me guys, I've built frontend with NuxtJS, and use [slug].vue for the dynamic route, and I've been deploy it to apache, when I access my blog or refreshing my blog, it always redirects to home, or subdirectory all-blog, not to my blog, any solutions everyone? thanks before

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