Default parameters in rules
In rules, all the parameters that are declared are required; if the URL misses some parameter, the rule will not be applied. This problem can be solved using the default property of rule.
The URL rule structure has a parameter, named defaults, containing default parameters to be passed as default. Parameter defaults is an array, where keys are names of parameters and values are their corresponding values.
For example, change the second rule to a complete array and add ['category' => 'shopping']
as the default property rule:
'rules' => [ 'news/<year:\d{4}>/items-list' => 'news/items-list', [ 'pattern' => 'news/<category:\w+>/items-list', 'route' => 'news/items-list', 'defaults' => ['category' => 'shopping'] ] ],
Now, if we point to http://hostname/basic/web/news/items-list
without...