修复重写mod以便与get一起使用

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.