Я пытаюсь добавить функциональность OpenSearch в мое приложение Yii, и у меня возникают проблемы при настройке UrlManager для направления поискового запроса на нужный контроллер (в данном случае это называется query ) и метод (называемый index).).Поиск отлично работает, если в поисковых словах нет пробелов.Всякий раз, когда кто-то ищет более одного слова, UrlManager не может найти контроллер и метод для обработки поиска.
URL-адрес в файле search.xml, который запускает поиск, выглядит следующим образом:
<Url type="text/html" template="[pathToMyApp]/application/index.php/query/{searchTerms}"/>
И мой UrlManager настроен так:
'urlManager' => array(
'urlFormat' => 'path',
'rules' => array(
'<_c:(name|tag)>s/*' => '<_c>/index',
'<controller:\w+>/<action:\w+>/<id:\d+>' => '<controller>/<action>',
'query/suggest/<needle:\w+>'=>'query/suggest', // used to route OpenSearch JSON suggestions - works
'query/findbox'=>'query/findbox', // routes search queries from a form in the application - works
'query/<needle:\w+>'=>'query/index', // works only for search strings with no white space
),
'showScriptName' => true,
),