Pergunta

Uma instância do CQ5 hospeda vários sites em diferentes ramificações de conteúdo. Como é possível mapear um domínio para uma ramificação de conteúdo específica para suportar cenários de hospedagem de vários domínios?

Resposta, Resolução

O CQ5, que é baseado no Apache Sling [1], oferece a funcionalidade necessária por meio da configuração baseada em repositório. Ao resolver recursos, esses chamados mapeamentos são aplicados.

A seguinte configuração de exemplo é baseada no site Geometrixx que vem com uma instalação do CQ5 por padrão. O site Geometrixx já é multilíngue e serve perfeitamente como exemplo.

O objetivo é configurar esses mapeamentos:

Domínio                      Ramificação de conteúdo
www.geometrixx.fr /content/geometrixx/fr
www.geometrixx.de /content/geometrixx/de

Esses nós devem ser criados no workspace padrão do repositório por meio do CRX Content Explorer, tipos de nó necessários entre colchetes:

/etc
   /map                       (sling:Folder)
      /http                   (sling:OrderedFolder)
         /www_geometrixx_fr   (sling:Mapping)
         /www.geometrixx.fr   (sling:Mapping)
         /www_geometrixx_de   (sling:Mapping)
         /www.geometrixx.de   (sling:Mapping)

2 mapeamentos são necessários:
  • mapear o contexto raiz para a página de índice da ramificação de idioma, por exemplo www.geometrixx.fr --> /content/geometrixx/fr.html
  • mapear recursos para a ramificação de idiomas correspondente

A seguir, a representação JSON da configuração necessária para mapear esses dois domínios (/etc/map/http.tidy.-1.json):

{
  "jcr:primaryType": "sling:OrderedFolder",
  "www_geometrixx_fr": {
    "sling:internalRedirect": [
      "/content/geometrixx/fr.html"
    ],
    "jcr:primaryType": "sling:Mapping",
    "sling:match": "www.geometrixx.fr/$"
  },
  "www.geometrixx.fr": {
    "sling:internalRedirect": [
      "/content/geometrixx/fr",
      "/"
    ],
    "jcr:primaryType": "sling:Mapping"
  },
  "www_geometrixx_de": {
    "sling:internalRedirect": [
      "/content/geometrixx/de.html"
    ],
    "jcr:primaryType": "sling:Mapping",
    "sling:match": "www.geometrixx.de/$"
  },
  "www.geometrixx.de": {
    "sling:internalRedirect": [
      "/content/geometrixx/de",
      "/"
    ],
    "jcr:primaryType": "sling:Mapping"
  }
}

Anexado, há também um Pacote de Conteúdo [2] com a configuração de exemplo acima.

Aplica-se

CQ5.2.x, CQ5.3

[1] Resolução Flexível de Recursos do Apache Sling
[2] geometrixx_domain_mapping.zip

Download

Esta obra está licenciada sob uma licença não adaptada da Creative Commons Attribution-Noncommercial-Share Alike 3.0  As publicações do Twitter™ e do Facebook não são cobertas pelos termos do Creative Commons.

Avisos legais   |   Política de privacidade online