Php 修复了重写mod以便与get一起工作
我正在尝试修改一个htaccess文件,以便它为搜索表单提供一个好的urlPhp 修复了重写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返回
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会是什么样子?