nerotic Posted February 19, 2010 Share Posted February 19, 2010 Hello all, I just got into .htaccess today due to a sudden need from my client and I'm really not all that adept at Apache. I've tried countless tutorials and generators and but nothing seems to work. In a nutshell I have a catalog website that can include one of 6 stores...the setup looks like this (everything housed under one domain): www.mydomain.com www.mydomain.com/store1/ www.mydomain.com/store2/ etc up to 6 For stores 1,2,3, I want them accessible openly, which means direct linking and indexing by search engines However, for stores 4,5,6, I have it set up so that from a certain page on www.mydomain.com people can enter a code which will take them to these hidden stores with special pricing. I've set up my robots.txt so that /osc4/, /osc5/, /osc6/ aren't being indexed. So far so good...this is where I need .htaccess to kick in and I can't find a way to do so that hasn't blocked out access completely. The last element that I want to implement I want to do is set up is to prevent people from direct linking into those special stores. I've heard there's a way to do this with .htaccess so that those stores will only allow access from www.mydomain.com and if they access from elsewhere I can redirect them elsewhere. So in plain English what I need is: Allow referrer www.mydomain.com (entire domain) Allow referrer mydomain.com (entire domain) Deny all other referrers and redirect them to URL Allow IP 1 (for direct store and admin panel access) Allow IP 2 (for direct store and admin panel access) Deny all other IPs and redirect them to URL I don't mind putting an instance of .htaccess into each folder, doesn't have to be in root and it's probably for the better considering how the host is set up. Thanks in advance. Here's the latest version of what I've been trying. Options +ExecCGI AddHandler server-parsed .shtml DirectoryIndex .htredirect.html index.html index.php ErrorDocument 404 /404.html RewriteEngine On RewriteCond %{HTTP_REFERER} !^http://mydomain.com/store1/ RewriteCond %{HTTP_REFERER} !^http://mydomain.com/store2/ RewriteCond %{HTTP_REFERER} !^http://mydomain.com/store3/ RewriteCond %{HTTP_REFERER} !^http://mydomain.com/store4/ RewriteCond %{HTTP_REFERER} !^http://mydomain.com/store5/ RewriteCond %{HTTP_REFERER} !^http://mydomain.com/store6/ RewriteCond %{HTTP_REFERER} !^http://www.mydomain.com/store1/ RewriteCond %{HTTP_REFERER} !^http://www.mydomain.com/store2/ RewriteCond %{HTTP_REFERER} !^http://www.mydomain.com/store3/ RewriteCond %{HTTP_REFERER} !^http://www.mydomain.com/store4/ RewriteCond %{HTTP_REFERER} !^http://www.mydomain.com/store5/ RewriteCond %{HTTP_REFERER} !^http://www.mydomain.com/store6/ RewriteRule \.(gif|jpg)$ http://mydomain.com/ [R,L] RewriteRule /* http://mydomain/restricted/index.html [R,L] RewriteEngine On RewriteCond %{HTTP_USER_AGENT} ^BlackWidow [OR] RewriteCond %{HTTP_USER_AGENT} ^Bot\ mailto:craftbot@yahoo.com [OR] RewriteCond %{HTTP_USER_AGENT} ^ChinaClaw [OR] RewriteCond %{HTTP_USER_AGENT} ^Custo [OR] RewriteCond %{HTTP_USER_AGENT} ^DISCo [OR] RewriteCond %{HTTP_USER_AGENT} ^Download\ Demon [OR] RewriteCond %{HTTP_USER_AGENT} ^eCatch [OR] RewriteCond %{HTTP_USER_AGENT} ^EirGrabber [OR] RewriteCond %{HTTP_USER_AGENT} ^EmailSiphon [OR] RewriteCond %{HTTP_USER_AGENT} ^EmailWolf [OR] RewriteCond %{HTTP_USER_AGENT} ^Express\ WebPictures [OR] RewriteCond %{HTTP_USER_AGENT} ^ExtractorPro [OR] RewriteCond %{HTTP_USER_AGENT} ^EyeNetIE [OR] RewriteCond %{HTTP_USER_AGENT} ^FlashGet [OR] RewriteCond %{HTTP_USER_AGENT} ^GetRight [OR] RewriteCond %{HTTP_USER_AGENT} ^GetWeb! [OR] RewriteCond %{HTTP_USER_AGENT} ^Go!Zilla [OR] RewriteCond %{HTTP_USER_AGENT} ^Go-Ahead-Got-It [OR] RewriteCond %{HTTP_USER_AGENT} ^GrabNet [OR] RewriteCond %{HTTP_USER_AGENT} ^Grafula [OR] RewriteCond %{HTTP_USER_AGENT} ^HMView [OR] RewriteCond %{HTTP_USER_AGENT} HTTrack [NC,OR] RewriteCond %{HTTP_USER_AGENT} ^Image\ Stripper [OR] RewriteCond %{HTTP_USER_AGENT} ^Image\ Sucker [OR] RewriteCond %{HTTP_USER_AGENT} Indy\ Library [NC,OR] RewriteCond %{HTTP_USER_AGENT} ^InterGET [OR] RewriteCond %{HTTP_USER_AGENT} ^Internet\ Ninja [OR] RewriteCond %{HTTP_USER_AGENT} ^JetCar [OR] RewriteCond %{HTTP_USER_AGENT} ^JOC\ Web\ Spider [OR] RewriteCond %{HTTP_USER_AGENT} ^larbin [OR] RewriteCond %{HTTP_USER_AGENT} ^LeechFTP [OR] RewriteCond %{HTTP_USER_AGENT} ^Mass\ Downloader [OR] RewriteCond %{HTTP_USER_AGENT} ^MIDown\ tool [OR] RewriteCond %{HTTP_USER_AGENT} ^Mister\ PiX [OR] RewriteCond %{HTTP_USER_AGENT} ^Navroad [OR] RewriteCond %{HTTP_USER_AGENT} ^NearSite [OR] RewriteCond %{HTTP_USER_AGENT} ^NetAnts [OR] RewriteCond %{HTTP_USER_AGENT} ^NetSpider [OR] RewriteCond %{HTTP_USER_AGENT} ^Net\ Vampire [OR] RewriteCond %{HTTP_USER_AGENT} ^NetZIP [OR] RewriteCond %{HTTP_USER_AGENT} ^Octopus [OR] RewriteCond %{HTTP_USER_AGENT} ^Offline\ Explorer [OR] RewriteCond %{HTTP_USER_AGENT} ^Offline\ Navigator [OR] RewriteCond %{HTTP_USER_AGENT} ^PageGrabber [OR] RewriteCond %{HTTP_USER_AGENT} ^Papa\ Foto [OR] RewriteCond %{HTTP_USER_AGENT} ^pavuk [OR] RewriteCond %{HTTP_USER_AGENT} ^pcBrowser [OR] RewriteCond %{HTTP_USER_AGENT} ^RealDownload [OR] RewriteCond %{HTTP_USER_AGENT} ^ReGet [OR] RewriteCond %{HTTP_USER_AGENT} ^SiteSnagger [OR] RewriteCond %{HTTP_USER_AGENT} ^SmartDownload [OR] RewriteCond %{HTTP_USER_AGENT} ^SuperBot [OR] RewriteCond %{HTTP_USER_AGENT} ^SuperHTTP [OR] RewriteCond %{HTTP_USER_AGENT} ^Surfbot [OR] RewriteCond %{HTTP_USER_AGENT} ^tAkeOut [OR] RewriteCond %{HTTP_USER_AGENT} ^Teleport\ Pro [OR] RewriteCond %{HTTP_USER_AGENT} ^VoidEYE [OR] RewriteCond %{HTTP_USER_AGENT} ^Web\ Image\ Collector [OR] RewriteCond %{HTTP_USER_AGENT} ^Web\ Sucker [OR] RewriteCond %{HTTP_USER_AGENT} ^WebAuto [OR] RewriteCond %{HTTP_USER_AGENT} ^WebCopier [OR] RewriteCond %{HTTP_USER_AGENT} ^WebFetch [OR] RewriteCond %{HTTP_USER_AGENT} ^WebGo\ IS [OR] RewriteCond %{HTTP_USER_AGENT} ^WebLeacher [OR] RewriteCond %{HTTP_USER_AGENT} ^WebReaper [OR] RewriteCond %{HTTP_USER_AGENT} ^WebSauger [OR] RewriteCond %{HTTP_USER_AGENT} ^Website\ eXtractor [OR] RewriteCond %{HTTP_USER_AGENT} ^Website\ Quester [OR] RewriteCond %{HTTP_USER_AGENT} ^WebStripper [OR] RewriteCond %{HTTP_USER_AGENT} ^WebWhacker [OR] RewriteCond %{HTTP_USER_AGENT} ^WebZIP [OR] RewriteCond %{HTTP_USER_AGENT} ^Wget [OR] RewriteCond %{HTTP_USER_AGENT} ^Widow [OR] RewriteCond %{HTTP_USER_AGENT} ^WWWOFFLE [OR] RewriteCond %{HTTP_USER_AGENT} ^Xaldon\ WebSpider [OR] RewriteCond %{HTTP_USER_AGENT} ^Zeus RewriteRule ^.* - [F,L] Quote Link to comment https://forums.phpfreaks.com/topic/192575-htaccess-driving-me-nuts/ Share on other sites More sharing options...
nerotic Posted February 19, 2010 Author Share Posted February 19, 2010 anyone? :-\ Quote Link to comment https://forums.phpfreaks.com/topic/192575-htaccess-driving-me-nuts/#findComment-1014836 Share on other sites More sharing options...
roopurt18 Posted February 19, 2010 Share Posted February 19, 2010 I know this is only part of your solution, but it's all I have time for right now! # Untouched from your original Options +ExecCGI AddHandler server-parsed .shtml DirectoryIndex .htredirect.html index.html index.php ErrorDocument 404 /404.html RewriteEngine On For stores 1,2,3, I want them accessible openly, which means direct linking and indexing by search engines # if store is 1, 2, 3, we do nothing RewriteCond %{REQUEST_URI} ^(http(s)?://)?(www\.)?mydomain\.com/store[123].*$ RewriteRule .* - [L] However, for stores 4,5,6, I have it set up so that from a certain page on www.mydomain.com people can enter a code which will take them to these hidden stores with special pricing. # if store is 4, 5, 6 and not our domain as referer RewriteCond %{REQUEST_URI} ^(http(s)?://)?(www\.)?mydomain\.com/store[456].*$ RewriteCond %{HTTP_REFERER} !^(http(s)?://)?(www\.)?mydomain\.com/?.*$ RewriteRule .* http://www.mydomain.com [L] Quote Link to comment https://forums.phpfreaks.com/topic/192575-htaccess-driving-me-nuts/#findComment-1014851 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.