Caros,
Estou numa situação um pouco parecida com a velha questão que já tem várias discussões em listas relacionadas ao Symfony: roteamento baseado no nome do host.
Explicando melhor. Teremos um site central onde será possível ter diversas instâncias (como blogs), como se fossem pequenos sites, independentes no gerenciamento das informações, o qual podem ser acessados pelo "slug" ou pelo seu "domínio" próprio, se assim tiver sido cadastrado e configurado na base de dados. Exemplificando:
Suponha que eu tenha 2 blogs: blog A e blog B. Ambos são acessados assim:
Supondo que quero ver a lista de categorias de posts em ambos, então terei:
O que ocorre é que ambos são mapeados no mesmo servidor, e consequentemente, são mapeados pela mesma aplicação do Symfony, já que a base de dados do ambos será a mesma. O problema é que como configurar a rota corretamente. No caso do Blog B, quando acessar "categorias", ele interpretará como um "slug" e não como a rota para "/categorias". Ou seja, no Blog B, o domínio já é o próprio "slug", por assim dizer, e por isso devo eliminá-lo da rota e possibilitar que os controllers sejam acessados sem a necessidade do slug.
Minha configuração atual está assim:
BlogBundle:
resource: "@MeuBlogBundle/Controller/"
type: annotation
prefix: /{slug}
Porém, eu preciso que seja algo como isso:
BlogBundle:
resource: "@MeuBlogBundle/Controller/"
type: annotation
prefix: /{slug}
BlogBundleHosted:
resource: "@MeuBlogBundle/Controller/" <--- Mesmo bundle
type: annotation
prefix: / <---- Acesso apenas pela raíz.
Em tempo. Tenho uma listener que, no domínio padrão, verifica pelo slug, busca na base qual o domínio e faz o redirecionamento adequado. Porém, ao chegar no domínio, ele sempre cai na rota com "slug". Já tentei usar requirements ou algo do tipo para condicionar esse acesso, mas sem sucesso.
Alguém tem uma idéia de como resolver isso?
Desculpem pelo post longo, mas esse problema já está me consumindo tem um tempinho.
Valeu,
Marcelo