これを理解できないようです。書き換えルールは次のとおりです。
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 と書き換えると機能しません。% も予約文字ですか?