Skip to main content

Configurar regras de mapeamento de nomes de host

Objetivos de aprendizagem

Após concluir esta unidade, você estará apto a:
  • Explicar o objetivo de mapear regras no arquivo de alias.
  • Apresentar duas razões para adicionar regras de mapeamento a um arquivo de alias de host.
  • Explicar como o B2C Commerce lida com mapeamentos duplicados de URL.
  • Listar três áreas para verificar em seu arquivo de alias para garantir que seja um JSON válido.

Por que mapear regras?

Brandon quer adicionar regras detalhadas de mapeamento ao seu arquivo de alias. Essas regras permitem que ele mapeie e redirecione os compradores para um nome de host adequado, um pipeline específico ou uma página de destino. Para cada evento, pode ser uma mistura de mapeamentos e redirecionamentos. No entanto, ele precisa de, pelo menos, uma regra de mapeamento no arquivo para cada nome de host ou nome de domínio para o qual ele tem conteúdo de loja virtual. Além disso, seu serviço de nome de domínio (DNS) tem que conter endereços IP que correspondem a um dos endereços IP na instância de produção.

Eis um exemplo de regra de mapeamento.

"www.cloudkicks.com" : [{"pipeline": "Home-Show" }], 

O nome de host www.cloudkicks.com faz mapeamento para o pipeline Home-Show.

Nome de host adequado

Brandon quer redirecionar um nome de host comumente usado para o nome do host adequado. O site aceita conexões para o nome comum, depois redireciona ou altera a URL para um nome de host mais apropriado.

Veja aqui um exemplo.

"cloudkicks.com": [ { "host": "www.cloudkicks.com", "path":"/home" }]

Quando o comprador digita cloudkicks.com como URL, o Salesforce B2C Commerce o redireciona para www.cloudkicks.com/home, um nome de host adequado — porque Brandon o definiu. No entanto, o B2C Commerce redirecionaria cloudkicks.com/mens para www.cloudkicks.com/mens.

Sintaxe das regras de mapeamento

Cada regra de mapeamento, definida por um conjunto de atributos, fica mais ou menos assim.

{
    "www.cloudkicks.com":[{"pipeline":"Home-Show",
    "apply-to-host-only-request-with-params":"true"}]
    "name": "mobile",
    "if-agent-contains": ["iphone","ipod"],
    "if-site-path": "DE",
    "host": "m.cloudkicks.com",
    "path": "index.html",
    "pipeline": "Summer-Start",
    "locale": "de",
    "params": {...},
}

Veja como o B2C Commerce lê cada parte desta regra.

Elemento
Descrição
"apply-to-host-only-request-with-params":"true"}]
O B2C Commerce processa a funcionalidade de redirecionamento em solicitações somente de host com parâmetros por padrão. Quando esta propriedade é verdadeira, o manuseio padrão é desativado, as solicitações são encaminhadas para o pipeline definido e os parâmetros preenchidos na memória.
"name": "mobile",
o nome da regra. Isso é apenas para documentação e não é interpretado pelo sistema.
"If-agent-contains": ["iphone","ipod"],
A regra é aplicada ao agente de usuário correspondente. A regra em si pode ser um mapeamento de pipeline ou um redirecionamento.
O formato JSON não permite uma instrução ELSE dentro de um bloco de código; ele só executa o host de uma linha. Então você precisa de outro bloco de www para lidar com navegadores regulares que não correspondem ao dispositivo móvel.
"if-site-path": "DE",
o B2C Commerce reconhece apenas as propriedades nome, localidade, pipeline e params, e ignora as propriedades host, path e if-agent-contains.
O B2C Commerce também verifica esta propriedade quando gera URLs de loja virtual. Ele usa a primeira regra de mapeamento que corresponde ao nome de host e localidade atuais. Se a regra de mapeamento que corresponde especificar um valor para a propriedade if-site-path, o B2C Commerce adicionará o caminho do site à URL gerada.
"host": "m.cloudkicks.com",
o nome do host para o qual a solicitação é redirecionada. As regras ficam assim:
{"host":"cloudkicks.com", "path":"uk"} ou assim:
{"host":"cloudkicks.com", "pipeline":"Home-Show"}
Quando você especifica ambos, o redirecionamento não fica claro, porque as solicitações com nome de host antigo + caminho são redirecionadas para o nome de host novo + caminho, que é usado para solicitações somente de host. Se você precisar escolher entre esses parâmetros, use o pipeline.
"path": "index.html",
o caminho para o qual o comprador é redirecionado através de um redirecionamento permanente 301. O B2C Commerce constrói uma URL anexando o valor da propriedade do caminho ao valor da propriedade de host, como por exemplo: cloudkicks.com/index.html.
Você tem que configurar a propriedade de host para que a propriedade do caminho funcione. O B2C Commerce adiciona o valor da propriedade do caminho ao valor da propriedade de host somente se a URL inserida for uma solicitação somente de nome de host. Caso contrário, o B2C Commerce adiciona o caminho extraído da URL de solicitação ao valor da propriedade de host.
"pipeline": "Summer-Start",
o hostName que é usado se não for fornecido nenhum host que acione o pipeline. Use a sintaxe de localidade e params para especificar uma localidade e parâmetros para o arquivo.
"locale": "de",
isso estabelece uma localidade para cada solicitação mapeada através desta regra, como por exemplo: /us/mens.
"params": {...},
isso adiciona parâmetros para se a regra for exatamente como solicitado. Por exemplo, /us/ (sim) e /us/mens (não).
Observação

Consulte o Infocenter para obter uma lista completa.

Depurar o arquivo de alias

A sintaxe de arquivo do nome de host do B2C Commerce foi inspirada em JSON, mas não é estritamente JSON. Parte da sintaxe não é JSON válido, então Brandon pode precisar mudar algumas coisas antes de Vijay testar seu arquivo com um depurador. Ele confere o seguinte.

  • Use dois pontos em vez de sinais de igualdade ao especificar propriedades. Sinais de igualdade não são JSON válido, embora sejam compatíveis com a sintaxe do nome de host.
  • Remova todos os comentários em seu arquivo. Os comentários não são JSON válido.
  • Remova as vírgulas após as entradas do host, porque vírgulas não são JSON válido. No entanto, elas são necessárias para o arquivo de nome de host do B2C Commerce, então lembre-se de colocá-las de volta depois de depurar seu arquivo.

Vijay testa se as regras de Brandon são JSON válido em uma ferramenta de depuração, como o validador JSONlint — e não no Business Manager, através de tentativa e erro. Se o arquivo contiver erros de JSON, o B2C Commerce continua usando a configuração anterior correta e não salvará uma configuração inválida.

Tempo de teste

Na hora de testar, Brandon nem sempre consegue a ajuda de Vijay para configurar e registrar o DNS e nomes de domínio para seu ambiente de teste. Em vez disso, Brandon os configura em sua máquina local.

Veja como testar sua configuração:

  1. Determine o endereço IP do seu sistema de teste.
  2. Abra uma linha de comando.
  3. Digite nslookup cloudkicks.domain.demandware.net.
  4. Adicione um mapeamento de nome de host ao arquivo de hosts da máquina da sua localidade, normalmente localizado em /etc/hosts.
  5. Use este ou todos os nomes de host que estão apontando (localmente) para a instância para verificar e testar a configuração de seus hosts.
Observação

É melhor testar em uma instância de desenvolvimento.

Cenários

Brandon está pronto para analisar alguns cenários.

Primeiro cenário: Controlar a barra do caminho do site

Brandon quer controlar a barra do caminho do site para cada caminho do site que tem uma configuração de site-caminho-barra. Isso significa que ele muda a URL de não ter nenhuma barra para ter uma barra.

Veja como configurar o nome de host preferido do site HTTP/HTTPS.

"settings" : {
   "http-host" : "www.cloudkicks.com",
   "https-host" : "www.cloudkicks.com",
   "site-path": "en",
   "site-path-trailing-slash" : "yes" }

Veja como configurar as regras do nome de host para duas localidades.

"www.cloudkicks.com" : [
   { "locale" : "default" },
   { "if-site-path": "en", "site-path-trailing-slash" : "yes", "locale" : "en" },
   { "if-site-path": "de", "site-path-trailing-slash" : "no", "locale" : "de" } ]

Veja como o B2C Commerce redireciona essas solicitações.

De
Para
www.cloudkicks.com/en
www.cloudkicks.com/en/
www.cloudkicks.com/de/
www.cloudkicks.com/de

Segundo cenário: Redirecionar de uma URL alternativa para um domínio preferido

Brandon redireciona a URL alternativa cloudkicks.com para o domínio preferido. Quando um comprador digita cloudkicks.com como sua URL (http://cloudkicks.com/*), onde * é qualquer caminho, ele é redirecionado para http://www.cloudkicks.com/* através de um redirecionamento 301.

Esta é a configuração do arquivo de alias.

"cloudkicks.com": [
    {
    "host": "www.cloudkicks.com",
    }
], 

E as duplicatas?

Quando o mesmo conteúdo aparece em um site de duas ou mais URLs sem redirecionamento, a maioria dos mecanismos de pesquisa diminui a classificação de pesquisa para essas páginas. Brandon evita conteúdo duplicado para obter as melhores classificações de pesquisa para suas páginas.

O Salesforce B2C Commerce lida automaticamente com a maioria dos mapeamentos de URL duplicados sem alteração de configuração. Para mapeamentos de arquivos de alias (regras somente de host e caminhos do site), no entanto, você pode adicionar mapeamentos para redirecionamentos automáticos.

Veja como fazer isso.

  • Use regras de recursos duplicadas para criar URLs através da API de script do B2C Commerce.
  • Configure regras para definir pipelines que tenham pontos de entrada de URL duplicados ou sejam equivalentes contextuais para um nome de host.
  • Defina o destino preferido.

O B2C Commerce gera URLs usando o primeiro mapeamento aplicável.

Criar regras de URL para evitar conteúdo duplicado

Brandon quer marcar um pipeline (StartNode) para ser verificado quanto a URLs duplicadas (definidas dentro do arquivo de aliases como regra somente de host ou de site-caminho). Um redirecionamento acontece automaticamente se a URL não for o que ele definiu como a configuração de destino preferido.

Existem três tipos de destino — host, site-caminho e pipeline — com host e site-caminho exigindo uma regra correspondente. O B2C Commerce usa a primeira regra aplicável para redirecionar URLs duplicadas e para gerar URLs.

Veja aqui um exemplo.

"www.cloudkicks.com" :
[
    { "pipeline" : "StartNode" },
    {
       "if-site-path" : "eu",
       "pipeline" : "StartNode" },
    {
       "entry-point-pipeline" : [ "Home-Show" ],
       "entry-point-destination" : [ "host", "site-path", "pipeline" ]
    }
]

Com essa configuração, o B2C Commerce redireciona automaticamente todas as solicitações que identificam o pipeline StartNode para o destino somente de host. A URL somente de host invoca o pipeline.

Resumindo

Nesta unidade, você explorou a sintaxe das regras de mapeamento e aprendeu a depurar e testar configurações de alias. Você analisou cenários e aprendeu como evitar páginas duplicadas.

Agora faça o último teste e ganhe um emblema incrível!

Continue a aprender de graça!
Inscreva-se em uma conta para continuar.
O que você ganha com isso?
  • Receba recomendações personalizadas para suas metas de carreira
  • Pratique suas habilidades com desafios práticos e testes
  • Monitore e compartilhe seu progresso com os empregadores
  • Conecte-se a orientação e oportunidades de carreira