У меня есть глобальная форма поиска, которая представляет для поиска действия контроллера:правила менеджер Yii2 URL и формы с методом GET
<?=Html::beginForm(['/feqh/search'], 'get', ['class' => 'navbar-form navbar-left', 'role' => 'search', 'id' => 'searchForm']);?>
<div class="form-group has-feedback Right">
<input id="q" type="text" class="form-control" placeholder="<?=yii::t('app','Search');?>" name="q" value="<?= Html::encode(\Yii::$app->getRequest()->getQueryParam('q',""));?>" />
<i class="form-control-feedback glyphicon glyphicon-search"></i>
</div>
<button type="submit" class="btn btn-default"><?=yii::t('app','Submit');?> <i class="glyphicon glyphicon-ok"></i></button>
</form>
Я решил сделать довольно URL для поиска с помощью правил следующим образом:
'search/<q:\w+>' => 'feqh/search',
Однако, заполнив форму всегда генерировать следующий URL: example.com/feqh/search?q=anySearchString
Однако example.com/search/anySearchString
является доступ кий. Здесь проблема с отправкой с использованием формы.
Я попытался изменить URL формы действий:
<?=Html::beginForm(['feqh/search']
т.е. извлекая начальный /
но это не имеет никакого значения.
Кстати, следующее правило работает слишком:
'search' => 'feqh/search',
это делает example.com/search?q=anySearchString. However, the applying of this rule prevent
example.com/поиск/anySearchString`