
Movemos muitas páginas em nosso site baseado no Domino. Usando sites da Internet, adicionamos regras de redirecionamento 301 para os URLs antigos para que os vários bots parem de indexar as páginas e não apaguem o site nos resultados de pesquisa porque não cuidamos da mudança (404 não encontrado não é bom para SEO) .
Mas o Domino processa as regras de substituição antes das regras de redirecionamento. E de acordo com a documentação do Domino, quando não há curinga em uma regra, ele anexa "/*" a uma regra. Dada a ordem de processamento e o comportamento dos curingas, encontramos um problema em que uma regra existente que deve permanecer em vigor e que compartilha uma raiz comum dos URLs antigos está processando a substituição.
Estes são os URLs antigos:
- roupas/calças/femininas
- roupas/calças/homens
Estes são os novos URLs:
- roupas/calças/femininas
- roupas/calças/homens
Esta é a regra de substituição existente que deve permanecer em vigor:
- roupas/
Quando "roupas/calças/mulheres" existiam junto com "roupas/", as regras de substituição sempre processavam a regra "roupas/calças/mulheres", mesmo que "roupas/" existisse. Mas assim que movemos o URL antigo para um redirecionamento 301, a regra de substituição "roupas/" começa a pegar o URL antigo e processá-lo. O efeito é que o usuário acaba no lugar errado e os bots continuam indexando a URL porque 200 é retornado.
Está claro na documentação que o Domino adiciona "/*" a qualquer regra que não contenha um curinga. Mas existe alguma maneira de dizer ao Domino que ele deve ter uma correspondência precisa em um URL recebido? Estou faltando alguma coisa em um documento de configuração de site ou algo assim?
Estou analisando algumas opções de codificação, mas prefiro manter a solução isolada da configuração do sistema para que não tenhamos que ir a vários lugares para gerenciar as regras de processamento de URL do site.
Obrigado.
Responder1
Também não é uma resposta direta à sua pergunta, pode haver uma solução alternativa. A partir do Domino 9 no Windows, o produto é fornecido com o servidor IBM HTTP (IHS) como opção de instalação. IHS é apenas um fork da IBM do Apache. No seu caso, você pode usar regras de filtro do Apache e mod_rewrite para criar regras mais poderosas.
Uma coisa boa que vale a pena mencionar: o IHS vem junto com sua licença. Sem custos extras.