I'm trying to do another SEO system with PHP/.htaccess...
I need the following rules to apply:
- Must catch all URLs that do not end with an extension (www.foo.com --> catch | www.foo.com/catch-me --> catch | www.foo.com/dont-catch.me --> don't catch).
- Must catch all URLs that end with .php* (.php, .php4...) (that are the exceptions to rule #1).
- All rules must only apply in some directories and not in their subdirectories (/ and /framework so far).
- The htaccess must send the typed URL in a GET value so I can work with it in PHP.
Any mod-rewrite wizard can help me?
Edit:
OK after reading the posts suggested, I came up with this but I think its stuck in a loop... Anyone can help?
<IfModule mod_rewrite.c>
RewriteEngine On
# 1
RewriteCond %{REQUEST_FILENAME} !\.[^/]+$ [OR]
# 2
RewriteCond %{REQUEST_FILENAME} \.php.*$
# 4
RewriteRule ^(.*)$ http://localhost/seo-urls/seo-urls-mapper.php%3Frequested=$1?%{QUERY_STRING}
</IfModule>
Since I want to complete this during my Xmas holidays, I'm adding a bounty :) Thanks for your help and happy holidays!
Try this as a starting point:
First ruleset:
uri
GET parameter is set (otherwise you'll get a loop when redirecting to the destination script after appending theuri
parameter).
then skip this ruleset (you may want to create a more specific rule for particular extensions but this works)index.php
(you may need to change the target) and set theuri
GET parameterSecond ruleset:
uri
parameter is set, skip this ruleset to prevent a loop.php
,.php4
, or similar (.php123
would not be redirected)index.php
(you may need to change the target) and set theuri
GET parameterIt doesn't take a "wizard" to put mod_rewrite rules together - spend some time experimenting on your own and reading over the guide which jscott recommended.
Do ask all your theory-type questions here if you want great explanations (as opposed to practical-type questions in which it seems as though answerers are crowd-sourcing your project instead of furthering your knowledge).