我需要htaccess中的问号

时间:2015-01-03 17:42:40

标签: .htaccess

请帮帮我。我需要正确的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=

谢谢!

1 个答案:

答案 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标志将任何现有的查询字符串附加到目标的末尾。