Я не уверен, какой именно API вы используете для этих переписываний, но проблема в том, что регулярное выражение заканчивается после .html
, и поэтому оно не соответствует вашей строке запроса. Как-то так может помочь:
$rewrites = array(
'#^/searchresults.html(|\?.*)$#' => '/info/searchresults$1'
);
$reverseRewrites = array (
'#^/info/searchresults(|\?.*)$#' => '/searchresults.html$1'
);