Quando eu chamo nosso site "www.example.com/contact-us", estou recebendo o seguinte erro:
Ops, parece que essa solicitação tentou criar um loop infinito. Não permitimos essas coisas aqui. Somos um site profissional!
Se eu ligar para o site com "www.example.com/node/5", a página de contato será exibida corretamente.
Quando verifico o alias do caminho em / admin / config / search / path / edit / 6, o caminho e o alias do sistema estão definidos corretamente.
Existe outro problema para outro alias, quando chamo "www.example.com/staff" e estou sendo redirecionado para a página de destino "www.example.com". Mais uma vez o alias está definido corretamente.
Estamos usando o Drupal 7 e os módulos i18n_redirect e redirecionar.
7
redirection
path-aliases
Matthias
fonte
fonte
Respostas:
Edite sua página e acesse redirecionamentos de URL . Encontre o caminho de redirecionamento com o maior número de contagens e exclua-o. Clique em Salvar e visualize a página.
Deixe-me saber se isso resolveu o seu problema
fonte
Atualização: o problema Drupal # 1796596 foi confirmado a partir do redirecionamento 1.0-rc2 (junho de 2015). A solução correta para esse problema agora é atualizar para a versão estável mais recente do módulo Redirect e executar as atualizações do banco de dados. Quaisquer redirecionamentos circulares que você tiver serão limpos com segurança.
Esse problema ocorreu devido a um erro no módulo de redirecionamento. Você o aciona alterando o URL de uma página (ou talvez apenas o título, se estiver usando o pathauto) e depois alterando-o para o que costumava ser.
Por exemplo, digamos que eu tinha uma página chamada "empresa" e alterei o título para "Nossa empresa" (que alterou o alias do URL para nossa empresa). Então decidi que realmente preferia a primeira maneira, então editei o nó novamente e alterei o título novamente para "Empresa". Nesse momento, a mensagem de erro " Ops, parece que essa solicitação tentou criar um loop infinito. Não permitimos isso aqui. Somos um site profissional! " Começaria a aparecer na página da empresa.
Existem três maneiras de corrigir isso, dependendo do que for mais fácil para você. Eles variam em dificuldade / bravura de cima para baixo.
O método Drupal / PHP
Há um longo bug do Drupal sobre o assunto: Edição nº 1796596 e há um bom patch de trabalho que corrige o problema no comentário # 124 .
Esperamos que esta correção seja confirmada em breve no módulo Redirecionar para download. No entanto, já faz mais de um ano, sem nenhum sinal de progresso nessa frente.
O método SQL
A correção mais rápida para o problema é com uma consulta SQL ao banco de dados, com algo como abaixo. TENHA CUIDADO e tente apenas esse método se você souber o que está fazendo - tente primeiro uma cópia de desenvolvimento do site e verifique se você tem um backup e teste as alterações logo depois, caso precise reverter. Seja extremamente cuidadoso e teste a primeira consulta muito bem se você estiver usando o i18n ... Execute a primeira consulta para mostrar o que seria excluído e a segunda para realmente excluir.
Se você não sabe aplicar patches ou executar consultas SQL, precisará corrigir o problema manualmente. Não se preocupe, isso é realmente muito fácil de fazer (mas demorado em comparação com outros métodos):
O método manual:
Para cada uma das páginas em que a mensagem de aviso foi exibida:
fonte
Se tivermos os mesmos redirecionamentos para o alias do nó, outra maneira de corrigir esse erro é executar um script através de todo o nid (no caso de nós) e ver se o alias de cada nó tem um redirecionamento com o mesmo nome, se houver é eliminado.
Você pode executar esse código na opção "Executar código PHP" no menu de desenvolvimento.
Este formulário é semelhante ao "O método SQL", apenas eu o executo no Drupal e não no banco de dados.
fonte
Aplique o patch em Fix e evite redirecionamentos circulares (ou aguarde até que ele entre no módulo).
fonte
Criar script Drush:
Salve-o em um arquivo e execute-o na base de código do seu site usando
drush php-script [PATH_TO_SCRIPT]
, e ele excluirá qualquer redirecionamento que colidir com os aliases de URL.fonte
Como impedir a exibição futura da mensagem de erro "loop de redirecionamento" no servidor de produção? Eu já defini o relatório de erros "none" nesta página - admin / config / development / logging
fonte
A única maneira de tentar muitos patches foi abrir o arquivo redirect.module e omitir a linha # 989
fonte
Meu inglês não é muito bom, mas acho que você não tem problema em me ler. Eu tenho antes desse problema e o resolvi, então removi o módulo REDIRECT. Atenciosamente Equipe KoZnaZna - Simon
fonte