I have a setup that sets variables for the index page, but it also does the same for directories and I don’t want it to do that. Here’s my .htaccess file:
RewriteEngine On
RewriteCond %{REQUEST_URI} !^/(login|images|favicon\.ico|home|about|sitemap|contactus|termsandconditions|privacypolicy|signup|search|careers|error|css|js) [NC]
RewriteRule ^([a-zA-Z0-9]+)$ index.php?name=$1
RewriteRule ^([a-zA-Z]+)/$ index.php?name=$1
RewriteRule ^([a-zA-Z]+)/([a-zA-Z0-9_]+)$ index.php?name=$1&page=$2
RewriteRule ^([a-zA-Z]+)/([a-zA-Z0-9_]+)/$ index.php?name=$1&page=$2
RewriteRule ^php/$ error/
Now, with this setup, if I type in mysite.com/login it will redirect to the index.php page and set login as the name variable. How do I make it to where it ignores the directories? This is frustrating me and I’ve looked through this site for over an hour for an answer and can’t find a similar question (I might suck at that too, though. haha!).
Also, if you look at the last RewriteRule, you can see that I’m trying to redirect any attempt to access my php/ folder to my error/ folder. This is also not working.
RewriteCondonly applies to the immediately followingRewriteRule. Also, you can combine lines 3&4, and 5&6 respectively, by using/?on the end, which makes the/optional (regex).Your file could be similar to this:
You may be interested in the Apache Mod_Rewrite Documentation.