CUrlManager default route

Hi All,

I am trying to create a catch-all rule at the very bottom of my CURLManager application instance so that anything that does not match the previous rules, will be handled by a particular module/controller/action.

After some research, I’ve stumbled into something along the lines of


		'urlManager'=>array(

			'urlFormat'=>'path',

			"showScriptName"=>false,

			'rules'=>array(


				'admin'=>'user/user/login',

				'admin/<controller:\w+>'=>'admin/<controller>',

				'admin/<controller:\w+>/<id:\d+>'=>'admin/<controller>/view',

				'admin/<controller:\w+>/<action:\w+>/<id:\d+>'=>'admin/<controller>/<action>',


				'<controller:\w+>/<id:\d+>'=>'<controller>/view',

				'<controller:\w+>/<action:\w+>/<id:\d+>'=>'<controller>/<action>',

				'<controller:\w+>/<action:\w+>'=>'<controller>/<action>',


				''=>'frontend/page/index',





			),

		),

But the ‘’ at the end only works when there is nothing on the URL, e.g., no wildcards allowed.

If I replace the last line with




				'(.*)/*'=>'frontend/page/index',



The catch-all functionality does work, but then the /admin, for instance, never gets matched.

Any advice or implementation ideas?

Cheers,

Cass

(.)/?(.) ???

Its look like boobs, but it is actually the answer :lol:

theoretically (.*) should much all…

The boobs work like a treat! Many many thanks.

Thanks!! I spent a good portion of the afternoon on this one, expecting ‘useStrictParsing’ turned off would allow the error action to kick in and blaming NGINX for not allowing Yii to handle the errors :P

Had to finally add a catch all of




'(.*)/?(.*)'=>'site/error'



NOTE: This only seems to be the case when using NGINX with fastcgi_intercept_errors on and a defined error page that is the yii bootstrap page. No other site has ever had the issue with the route not being handled by default when strict parsing was off.

Actually, that doesn’t work for the problem I’m having, because while it allows it to fall through to site/error, it doesn’t actually treat it AS an error.

Back to swearing at NGINX…

Rounding on the floor laughing, trying to keep my belly in place and not to die out of laughing! :> :> :>

You’ve just made my day! :>