ayok Posted August 2, 2010 Share Posted August 2, 2010 Hi, I have a site with this structure /root - public/ - includes/ - .htaccess So when a visitor type http://www.site.com/ it's redirect to public folder. And if it's site.com/page.htm or site.com/admin it's redirected to public/. However, the last 2 actions doesn't work when I try it on localhost. This is my .htaccess RewriteEngine On RewriteCond %{REQUEST_URI} !^/public/ RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d RewriteRule ^(.*)$ /public/$1 RewriteRule ^(/)?$ public/ [L] RewriteRule ^(/)?$ public/admin/ [L] RewriteRule ^public/([a-zA-Z0-9_\-_]*?).htm$ public/index.php I've tried to add RewriteCond %{HTTP_HOST} ^localhost/site$, but it still doesn't work. I keep getting error 404. Would anyone point out where i do wrong? Thank you, ayok Quote Link to comment https://forums.phpfreaks.com/topic/209602-htaccess-on-localhost/ Share on other sites More sharing options...
cags Posted August 4, 2010 Share Posted August 4, 2010 a.) RewriteCond's only apply to the RewriteRule directly below them. b.) There seems a lot of inconsistencies in your rules, your first RewriteRule redirects to a path beginning with a forward slash, whereas your others don't. This is likly supposed to be there as you don't have a RewriteBase directive. Quote Link to comment https://forums.phpfreaks.com/topic/209602-htaccess-on-localhost/#findComment-1094960 Share on other sites More sharing options...
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.