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 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. Link to comment https://forums.phpfreaks.com/topic/209602-htaccess-on-localhost/#findComment-1094960 Share on other sites More sharing options...
Recommended Posts
Archived
This topic is now archived and is closed to further replies.