Reputation: 467
The htaccess I'm using is as follow
RewriteBase /
RewriteEngine on
RewriteCond %{REQUEST_FILENAME} -s [OR]
RewriteCond %{REQUEST_FILENAME} -l [OR]
RewriteCond %{REQUEST_FILENAME} -d [OR]
RewriteCond %{REQUEST_FILENAME} -f
RewriteCond %{REQUEST_URI} -U
RewriteRule ^.*$ - [NC]
RewriteCond %{REQUEST_URI} !-U
RewriteRule ^(.*)$ #/$1 [L]
On my localhost, when I'm simply typing localhost/ it's redirecting to localhost/home and my angular app is running perfectly. But when I'm directly typing the url localhost/home it's throwing 404. I need to rewrite it as localhost/#/home
In my angular app, in index.html header, I've added and $locationProvider.html5mode(true), html5 mode is working, but only problem is when refreshing browser...
Thank in advance everyone.
Upvotes: 2
Views: 3127
Reputation: 8720
I handle this issue in my project with working on my VirtualHost
<VirtualHost *:8888>
DocumentRoot "/Applications/MAMP/htdocs/angular"
ServerName zeyton.dev
ServerAlias www.zeyton.dev
DirectoryIndex index.html
<Directory "/Applications/MAMP/htdocs/angular">
order allow,deny
allow from all
RewriteEngine on
RewriteCond %{REQUEST_FILENAME} -s [OR]
RewriteCond %{REQUEST_FILENAME} -l [OR]
RewriteCond %{REQUEST_FILENAME} -d
RewriteRule ^.*$ - [NC,L]
RewriteRule ^(.*) /index.html [NC,L]
</Directory>
</VirtualHost>
Upvotes: 0
Reputation: 691
RewriteEngine On
RewriteBase /
RewriteCond %{REQUEST_URI} !^(/index\.php|/img|/js|/css|/robots\.txt|/favicon\.ico)
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ./index.html [L]
Upvotes: 2