Regex .htaccess在带有问号的HTTP GET上失败

Regex .htaccess在带有问号的HTTP GET上失败,regex,apache,.htaccess,mod-rewrite,Regex,Apache,.htaccess,Mod Rewrite,我已经尝试了几乎所有可能的解决方案,包括Stackoverflow 我正试图重写 到 搜索时,searchform会引导您 search/?q=这个 但是/search/被allread传递了一次,因此它已经使用了问号 现在我一直在使用脚本重定向每个带有问号的搜索,而它应该是一个&符号 如果我手动更换电源,它会工作吗?到& 有人能帮我用问号吗 这是我的.htaccess的副本 RewriteEngine on RewriteCond %{REQUEST_FILENAME} !-f Erro

我已经尝试了几乎所有可能的解决方案,包括Stackoverflow

我正试图重写

搜索时,searchform会引导您

search/?q=这个

但是/search/被allread传递了一次,因此它已经使用了问号 现在我一直在使用脚本重定向每个带有问号的搜索,而它应该是一个&符号

如果我手动更换电源,它会工作吗?到&

有人能帮我用问号吗

这是我的.htaccess的副本

RewriteEngine on


RewriteCond %{REQUEST_FILENAME} !-f

ErrorDocument 404 /test.php


RewriteRule ^nothingfound/ test.php [L]

RewriteCond %{QUERY_STRING} q=([^&]+)
RewriteCond %{QUERY_STRING} v=([^&]+)
RewriteRule ^search/([^/]+) /index.php?view=search&q=%1


RewriteRule ^([^/.]+)/?$ index.php?view=$1 [L]
RewriteRule ^([^/.]+)/([^/.]+)/?$ index.php?view=$1&task=$2 [L]
RewriteRule ^([^/.]+)/([0-9]+)/([^/.]+)*/$ index.php?view=$1&id=$2&title=$3 [L]
RewriteRule ^([^/.]+)/([^/.]+)/([0-9]+)*/$ index.php?view=$1&task=$2&page=$3 [L]
RewriteRule ^([^/.]+)/([^/.]+)/([^/.]+)/*/$ index.php?view=$1&task=$2&letter=$3 [L]
RewriteRule ^([^/.]+)/([^/.]+)/([^/.]+)/([0-9]+)*/$ index.php?view=$1&task=$2&letter=$3&page=$4 [L]
RewriteRule ^([^/.]+)/([^/.]+)/([^/.]+)/([0-9]+)/*/$  index.php?view=$1&id=$2&title=$3&page=$4 [L]
RewriteRule ^([^/.]+)/([^/.]+)/([^/.]+)/([^/.]+)/*/$  index.php?view=$1&id=$2&title=$3&list=$4 [L]

提前谢谢。

这就是你要找的吗

替换这个

RewriteCond %{QUERY_STRING} q=([^&]+)
RewriteCond %{QUERY_STRING} v=([^&]+)
RewriteRule ^search/([^/]+) /index.php?view=search&q=%1
用这个

RewriteCond %{QUERY_STRING} \bq=
RewriteRule ^search/$ index.php?view=search [QSA,L]

此规则适用于您:

RewriteCond %{QUERY_STRING} (^|&)[qv]=.+ [NC]
RewriteRule ^(search)/?$ index.php?view=$1 [QSA,L,NC]

对不起,很难理解您的问题。您能提供一些示例URL的列表,它们当前是如何重写的,以及问题是什么?例如is=可能重复-抱歉,我仍然没有看到这里的问题。我出去了。