Маршруты на самом деле совпадают в обратном порядке, поэтому поместите более конкретные маршруты снизу, а более общие - сверху. Ваш заказ в порядке.
При тестировании я обнаружил, что поисковый URL с идентификатором (123) работает нормально, но другой ('dvd + box + set') не работает. Вы запрашиваете: id должен быть \ w + - + в 'dvd + box + set' это то, что вызывает его сбой.
Если вы хотите, чтобы search / * переходил к поисковому действию, отбросьте требование и сделайте что-нибудь еще с ним в коде вашего контроллера действий, если это необходимо, в противном случае не \ w + ids заставит его перейти к маршруту категории.
Приветствия