Codeigniter: ¿la mejor configuración de rutas para CMS?

Me gustaría crear un CMS personalizado dentro de Codeigniter, y necesito un mecanismo para enrutar las páginas generales a un controlador predeterminado, por ejemplo:

mydomain.com/about
mydomain.com/services/maintenance

Estos se enrutarían a través de mi controlador de controlador de página. El comportamiento de enrutamiento predeterminado en Codeigniter es, por supuesto, enrutar a un controlador y método coincidentes, por lo que con los ejemplos anteriores requeriría un controlador Acerca de y un controlador de Servicios. Obviamente, este no es un enfoque práctico o incluso sensato.

He visto la siguiente solución para colocar en routes.php:

$route['^(?!admin|products).*'] = "pagehandler/$0";

Pero esto plantea sus propios problemas, creo. Por ejemplo, simplemente busca "productos" en la uri de solicitud y si encuentra rutas al controlador de Productos, pero ¿qué pasa si tenemos servicios / productos como una página de CMS? ¿Entonces esto no se enruta al controlador de productos?

¿Hay un enfoque perfecto para esto? No deseo tener un enrutamiento donde todo el contenido de CMS tenga el prefijo con el nombre del controlador, pero también necesito poder anular genéricamente el enrutamiento para otros controladores.

Respuestas a la pregunta(2)

Su respuesta a la pregunta