I'm trying to modify a htaccess file so that it will give a nice url for a search form.
RewriteRule ^search/([a-zA-Z0-9]+)$ look.php?q=$1 [nc]
RewriteRule ^search/?q=([a-zA-Z0-9]+)$ look.php?q=$1 [nc]
RewriteRule ^search/?q=([a-zA-Z0-9]+)/([a-zA-Z0-9]+)$ look.php?s=$1&q=$2 [nc]
If the search button is click the url returns /search/?q=tom
-- returns nothing
if i enter /search/tom
in the url -- it returns result that matchs tom
If the search button is click the url returns /search/?q=tom+jerry
-- return no result which is wrong because if i do look.php?s=tom+jerry
it returns the correct result..
my aim is this /search/?q=tom
or /search/?q=tom+jerry
You have to use %{QUERY_STRING}
to match the query string - it won't be matched in the RewriteRule.
So you would replace your second rule by something like this:
RewriteCond %{QUERY_STRING} ^q=([a-zA-Z0-9]+)$
RewriteRule ^search/ look.php?q=%1 [L,NC]
And I don't understand your third rule so I'm not going to try to fix it.