URL-адрес каталога переписывает ошибку в magento
Я получаю сообщение об ошибке "An error occurred while saving the URL rewrite
" в панели администратора system -> Index manager -> Catalog URL Rewrites -> REINDEX REQUIRED
. Как я могу это исправить?
2 answers
Иногда при выполнении переиндексации в панели администратора вы получите сообщение об ошибке
Произошла ошибка при сохранении перезаписи URL-адреса.
Теперь, хотя существует множество исправлений этой проблемы, я нашел одно, которое, по моему мнению, лучше всего решило проблему, и исправил его быстро с минимальными усилиями.
Если вы попытались переиндексировать любой из предыдущих URL-адресов каталога другого индекса, они также завершатся неудачей, но не путайте те, которые не индексируются, с URL-адресом каталога Переписывать. Если вы попытаетесь переиндексировать их отдельно, они все равно будут работать, так как проблема связана только с переписыванием URL-адресов каталога.
Теперь, чтобы устранить эту проблему, вам нужно будет обрезать таблицу core_url_rewrite.
Просто запустите следующий запрос mysql
TRUNCATE core_url_rewrite;
Чтобы проверить, что это сработало, выполните этот запрос
SELECT COUNT(*) FROM core_url_rewrite;
Должно вернуться, что оно равно 0.
Теперь зайдите в панель администратора и перепишите заново URL-адрес вашего каталога. На этом этапе он должен работать без ошибка.
Если вы хотите быть уверены, что это сработало, вы можете вернуться к своему терминалу или SVN, вернуться к таблице sql и запустить
SELECT COUNT(*) FROM core_url_rewrite;
На этот раз он должен вернуть гораздо большее число, чем 0.
Ниже будет произведена переиндексация каждого индекса.
for ($i = 1; $i <= 9; $i++) {
$process = Mage::getModel('index/process')->load($i);
$process->reindexAll();
}
Вы также можете вызвать функцию getProcessByCode
следующим образом:
$process = Mage::getModel('index/indexer')->getProcessByCode('catalog_product_price');
$process->reindexAll();