Regex .htaccess在带有问号的HTTP GET上失败
我已经尝试了几乎所有可能的解决方案,包括Stackoverflow 我正试图重写 到 搜索时,searchform会引导您 search/?q=这个 但是/search/被allread传递了一次,因此它已经使用了问号 现在我一直在使用脚本重定向每个带有问号的搜索,而它应该是一个&符号 如果我手动更换电源,它会工作吗?到& 有人能帮我用问号吗 这是我的.htaccess的副本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
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=可能重复-抱歉,我仍然没有看到这里的问题。我出去了。