Yii2 UrlManager. Если подходящий маршрут возвращен 404

У меня в конфиге такая маршрутизация

'vakansii/<country_slug>/<city_slug>' => 'vacancies/country-city',
'vakansii/<country_slug>/<category_slug>' => 'vacancies/country-category',

Когда я перейду по ссылке

domain.com/vacansii/ukraine/city

— все отлично

Но если я перейду по ссылке

domain.com/vacancii/ukraine/categoryname

— у меня ошибка 404.

Разбор находит совпадение по первому правилу и останавливается там. Как я могу сделать, если матч возвращает 404, чтобы продолжить разбор до конца и попробовать другие правила, прежде чем я получу последние 404?
Является ли это возможным?

Вот также пример моих действий контроллера.

//  vakansii/<country_slug>/<city_slug>

public function actionCountryCity($country_slug, $city_slug)
{
$country = $this->findCountryBySlug($country_slug);
$city = $this->findCityBySlug($city_slug);

$query = Vacancies::find()
->where(['country_id' => $country->id, 'city_id' => $city->id])
->orderBy(['id' => SORT_DESC]);



//  vakansii/<country_slug>/<category_slug>

public function actionCountryCategory($country_slug, $category_clug)
{
$country = $this->findCountryBySlug($country_slug);
$category = $this->findCategoryBySlug($category_clug);

$query = Vacancies::find()
->where(['country_id' => $country->id, 'category_id' => $category->id])
->orderBy(['id' => SORT_DESC]);

0

Решение

Задача ещё не решена.

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]