RegEx无法识别mod_rewrite搜索查询中的斜杠(/)

时间:2013-08-19 14:30:22

标签: regex

似乎无法想出这一个。以下是重写规则:

RewriteRule ^search\/(.*)$ index.php?route=product/search&filter_name=$1

RewriteRule ^search&(.*)$ index.php?route=product/search&$1 [QSA,L]

RewriteRule ^search?(.*)$ index.php?route=product/search&$1 [QSA,L]

适用于http://mysite.com/search/whatever+terms

但是,对http://mysite.com/search/whatever+terms/with+slash+in+search

不起作用

即使应该有结果,也会返回零结果。

当我使用通配符时,不应该包含斜杠吗?我在这里想念的是什么......

修改

现在,当我将斜杠直接写入URL栏时,它可以工作......但是当直接输入搜索框并重写为%2F时,它不会。 %也是保留字符吗?

1 个答案:

答案 0 :(得分:0)

您是否尝试过使用:

search/[a-zA-Z+?&/-]+