Pergunta

Estou recebendo um erro "An error occurred while saving the URL rewrite"no painel de administração system -> Index manager -> Catalog URL Rewrites -> REINDEX REQUIRED.Como posso consertar isso?

Foi útil?

Solução

Às vezes, ao fazer uma reindexação no painel de administração, você receberá o erro

Ocorreu um erro ao salvar a reescrita do URL.

Agora, embora existam inúmeras soluções para esse problema, encontrei uma que considerei melhor para resolver o problema e corrigi-lo rapidamente com o mínimo de esforço.

Se você tentou reindexar qualquer uma das reescritas de URL de catálogo anteriores de outro índice, elas também falharão, mas não confunda aquelas que não indexam com a reescrita de URL de catálogo.Se você tentar reindexá-los separadamente, eles ainda funcionarão, pois o problema reside apenas nas reescritas de URL do catálogo.

Agora, para corrigir esse problema, você precisará truncar sua tabela core_url_rewrite.

Basta executar a seguinte consulta mysql

 TRUNCATE core_url_rewrite;

Para verificar se funcionou execute esta consulta

SELECT COUNT(*) FROM core_url_rewrite;

deve voltar que é 0.

Agora vá para o painel de administração e reindexe suas reescritas de URL de catálogo.Neste ponto, deve funcionar sem erros.

Se você quiser ter certeza de que funcionou, você pode voltar ao seu Terminal ou SVN e voltar para a tabela sql e executar o

SELECT COUNT(*) FROM core_url_rewrite;

Desta vez, ele deve retornar um número muito maior que 0.

Outras dicas

A seguir irá reindexar cada índice.

for ($i = 1; $i <= 9; $i++) {
    $process = Mage::getModel('index/process')->load($i);
    $process->reindexAll();
}

Você também pode chamar a função getProcessByCode do seguinte modo:

$process = Mage::getModel('index/indexer')->getProcessByCode('catalog_product_price');
$process->reindexAll();
Licenciado em: CC-BY-SA com atribuição
Não afiliado a magento.stackexchange
scroll top