Como identificamos parâmetros em um URL dinâmico?

Estamos criando um CMS do Rails, onde um blog ou uma listagem de notícias pode aparecer em qualquer lugar da árvore do site. Isso significa que qualquer página conhece seu tipo com base em um campo de banco de dados - por exemplo: uma página sabe que é do tipo lista de notícias; portanto, uma vez que o URL é chamado para essa página, precisamos que seja processado pelo controlador da lista de notícias. As subpáginas da página da lista de notícias são notícias - cada uma com uma data e categoria.

O URL da lista de notícias pode ser

/dogs/snoopy-news/ 

e uma notícia pode ser

/dogs/snoopy-news/snoopy-is-great/

A complexidade para nós é com URLs com parâmetros adicionais para listar períodos de notícias ou listagens de categorias, por exemplo:

Listando todas as notícias de novembro

/dogs/snoopy-news/2010/11/

Ou liste todas as histórias que tenham comida como categoria:

/dogs/snoopy-news/category/food/

Como essa página de lista de notícias pode estar em qualquer nível da hierarquia do site, como abordaríamos a identificação de que 2010 é um parâmetro ou que categoria é um parâmetro?

(Armazenaremos todos os URLs no banco de dados para cada página, para que possamos pesquisar primeiro para ver se existe uma página para um URL)

EDIT: Este post fornece uma solução possível:CMS dinâmico como rotas em ruby on trilhos que iremos testar e relatar novamente. Ao salvar uma página no CMS, adicionaríamos rotas à tabela de roteamento nesse ponto, não apenas para a própria página, mas também para os possíveis parâmetros:

/dogs/snoopy-news/{year}/{month}/

questionAnswers(2)

yourAnswerToTheQuestion