Как правильно настроить роутинг Yii2?
Всё верно. То что вы написали, то он вам и делает. Отправку формы обрабатывает браузер. Как он это делает:
1. При событии submit формы, браузер, берёт параметр action
2. Берёт все поля, заключённые между тегами <form></form>
3. У каждого поля берёт его name и value (для полей типа textarea, думаю понятно, что не value)
4. Формирует из этих полей запрос вида (в случае GET-запроса): name1=value1&name2=value2&...
5. Приписывает запрос из пункта 4 к action из пункта 1 через знак вопроса ?
6. Осуществляет перенаправление по полученному url
Что же нужно сделать, чтобы изменить это поведение? Всё очень просто: просто надо перехватить submit формы и написать свою логику формирования url.
Разобрался, если кому понадобится в будущем скину код
1. Устанавливаем dmirogin/yii2-js-urlmanager
2. Далее нам понадобится добавить id к форме и полю inputecho Html::beginForm(['main/search'], 'GET', $options = ['id' => 'searchForm']);
        echo Html::input('text', 'request', '', $options = ['id' => 'searchinput']);
        echo Html::submitButton('Поиск');
        echo Html::endForm();
3. Пишем скрипт (перед закрывающим тэгом body)$("#searchForm").submit(function (e) {
            e.preventDefault();
            var url = UrlManager.createUrl('main/search', {request: $("#searchinput").val()});
            window.location.replace(url);
        });preventDefault(); - для переделки url и отправки своего, обязательно надо предотвратить стандартную отправку формы, что и делает эта функцияUrlManager.createUrl('main/search', {request: $("#searchinput").val()}); - тут как раз мы и формируем наш url с помощью расширения dmirogin/yii2-js-urlmanagerwindow.location.replace(url); ну а тут мы уже перенаправляем юзера на сформированный ранее url
При прописанном маршруте 'search/<request:\w+>' => 'main/search'
Нас успешно отправляет на Url вида http://test.com/search/123
Благодарю за ответы Дмитрия и Lander, хоть их ответы и не дали прямого решения, но направили меня в правильную сторону.