Php 修复了重写mod以便与get一起工作

Php 修复了重写mod以便与get一起工作,php,.htaccess,Php,.htaccess,我正在尝试修改一个htaccess文件,以便它为搜索表单提供一个好的url 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] 如果搜索按钮为,则单击url返回

我正在尝试修改一个htaccess文件,以便它为搜索表单提供一个好的url

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]
如果搜索按钮为,则单击url返回
/search/?q=tom
——不返回任何内容

如果我在url中输入
/search/tom
,它将返回匹配tom的结果

如果搜索按钮处于打开状态,请单击url返回
/search/?q=tom+jerry
--不返回错误的结果,因为如果我执行
look.php?s=tom+jerry
,它将返回正确的结果


我的目标是使用
/search/?q=tom
/search/?q=tom+jerry
您必须使用
%{QUERY\u STRING}
来匹配查询字符串-它在重写规则中不会匹配

所以你可以用这样的东西来代替你的第二条规则:

RewriteCond %{QUERY_STRING} ^q=([a-zA-Z0-9]+)$
RewriteRule ^search/ look.php?q=%1 [L,NC]

我不明白你的第三条规则,所以我不打算尝试修复它。

URL会是什么样子?