请帮帮我。我需要正确的RewriteRule。我有使用GET方法的搜索表单,但是当我使用提交按钮时没有任何操作。
我糟糕的RewireRule:
RewriteRule inzercia/([a-zA-Z_-]+)/([a-zA-Z0-9_-]+)?f_keyword=([a-zA-Z0-9_-]+)&f_cena_od=([a-zA-Z0-9_-]+)&f_cena_do=([a-zA-Z0-9_-]+)&f_psc=([a-zA-Z0-9_-]+)&f_kraj=([a-zA-Z0-9_-]+)&f_typy=([a-zA-Z0-9_-]+)&f_hladat=$ inzercia.php?cat_seo=$1&subcat_seo=$2&f_keyword=$3&f_cena_od=$4&f_cena_do=$5&f_psc=$6&f_kraj=$7&f_typy=$8&f_hladat=
我的网址:
http://domain.com/inzercia/stavebny-material/elektroinstalacny-material?f_keyword=&f_cena_od=&f_cena_do=&f_psc=&f_kraj=&f_typy=&f_hladat=
谢谢!
答案 0 :(得分:0)
您无法匹配重写规则中的查询字符串,您需要在重写条件下与%{QUERY_STRING}
变量匹配:
RewriteCond %{QUERY_STRING} ^f_keyword=([a-zA-Z0-9_-]+)&f_cena_od=([a-zA-Z0-9_-]+)&f_cena_do=([a-zA-Z0-9_-]+)&f_psc=([a-zA-Z0-9_-]+)&f_kraj=([a-zA-Z0-9_-]+)&f_typy=([a-zA-Z0-9_-]+)&f_hladat=$
RewriteRule inzercia/([a-zA-Z_-]+)/([a-zA-Z0-9_-]+) inzercia.php?cat_seo=$1&subcat_seo=$2&f_keyword=%1&f_cena_od=%2&f_cena_do=%3&f_psc=%4&f_kraj=%5&f_typy=%6&f_hladat= [L]
但是,由于您根本没有更改查询字符串,因此您可以尝试:
RewriteRule inzercia/([a-zA-Z_-]+)/([a-zA-Z0-9_-]+) inzercia.php?cat_seo=$1&subcat_seo=$2 [L,QSA]
利用QSA
标志将任何现有的查询字符串附加到目标的末尾。