Перезапись URL-адресов в версии 1.14 (EE) не создается и не применяется для всех продуктов

magento.stackexchange https://magento.stackexchange.com/questions/106174

Вопрос

На моем сайте в процессе разработки продукты создавались и импортировались с использованием различных процессов.Теперь я обнаружил, что перезапись URL-адресов не является единообразной и работает не во всех случаях.

Некоторые продукты переписывают/перенаправляют правильно, а некоторые вообще не переписывают/перенаправляют. В этих случаях, несмотря на то, что в продуктах хранятся url_keys, перезапись, похоже, не происходит.

Поскольку сайт все еще находится в разработке, мне не нужно сохранять какие-либо старые или пользовательские изменения.Мне бы очень хотелось очистить их все и создать заново на основе текущих названий продуктов.

В CE я бы обрезал таблицу core_url_rewrite и переиндексировал ее, и это решило бы проблему.Я не уверен, возможно ли это в версии Enterprise. Существует ли аналогичный процесс/процедура, которую я могу использовать для воссоздания перезаписей и использования этих перезаписей в продуктах? Я видел подобные проблемы с версией 1.13 и статьи об исправлении подобного поведения, но мне неудобно работать с инструкциями 2-3-летней давности и с версиями Magento 2-3-летней давности.

ОБНОВЛЯТЬ:

Я выполнил этот запрос MySQL, чтобы удалить все перезаписи URL-адресов:

SET FOREIGN_KEY_CHECKS = 0;
TRUNCATE TABLE `enterprise_url_rewrite_redirect_rewrite`;
TRUNCATE TABLE `enterprise_url_rewrite_redirect_cl`;
TRUNCATE TABLE `enterprise_url_rewrite_redirect`;
TRUNCATE TABLE `enterprise_url_rewrite_product_cl`;
TRUNCATE TABLE `enterprise_url_rewrite_category_cl`;
TRUNCATE TABLE `enterprise_url_rewrite`;
TRUNCATE TABLE `enterprise_catalog_product_rewrite`;
TRUNCATE TABLE `enterprise_catalog_category_rewrite`;
TRUNCATE TABLE `core_url_rewrite`;
SET FOREIGN_KEY_CHECKS = 1;

Затем переиндексируйте все из командной строки...

Это очень помогло, но Я все еще вижу некоторые продукты, которым назначен url_key, но, похоже, они не связаны с перезаписью. в базе данных.

Во фронтенде я вижу:http://dev.xxxx.com/catalog/product/view/id/8573/

вместо: http://dev.xxxx.com/my-really-cool-product/

где значение «мой-действительно-крутой-продукт» — это значение продукта «url_key».

Это было полезно?

Решение

Я получил этот патч от службы поддержки Magento:

СУПЭЭ-7854 (Новые продукты и категории не будут отображаться на веб-сайте, пока мы не переиндексируем все) ПРИМЕЧАНИЕ.Этот патч включает исправление из СУПЭЭ-7345 --- Ключи URL имеют неверный формат, не относящийся к SEO.

Который я установил, а затем очистил таблицы перенаправления URL-адресов, как указано выше, и переиндексировал.

Патч и переиндексация исправили проблему с неработающими редиректами (или, скорее, создали редиректы для тех продуктов, у которых раньше их не было), но также казалось, что существующие «хорошие» редиректы были нарушены удалением «url_key» для этих продуктов. .

Я открыл каждый затронутый продукт и сразу же сохранил его снова, чтобы заново сгенерировать новые значения «url_key».(Возможно, это было бы хорошим местом для автоматизации процесса, но из-за относительно небольшого количества затронутых продуктов я решил просто сделать это «вручную».) Теперь все продукты теперь ведут себя так, как ожидалось.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с magento.stackexchange
scroll top