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


На моем сайте в процессе разработки продукты создавались и импортировались с использованием различных процессов. Теперь я нахожу, что переписывание 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".

Author: Greg Nickoloff, 2016-03-14

1 answers

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

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

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

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

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

 2
Author: Greg Nickoloff, 2016-03-17 15:43:40