Переписывание URL-адресов играет решающую роль в оптимизации структуры и читаемости ссылок веб-сайта. В Magento 2 перезаписи URL-адресов хранятся в базе данных, и иногда возникает необходимость усечь или очистить эти перезаписи. В этой статье рассматриваются различные методы и примеры кода для эффективного сокращения перезаписи URL-адресов в базе данных Magento 2.
Метод 1: использование интерфейса командной строки (CLI)
Magento 2 предоставляет интерфейс командной строки, который позволяет напрямую усекать перезапись URL-адресов. Откройте терминал или командную строку и перейдите в корневой каталог Magento 2. Затем выполните следующую команду:
php bin/magento indexer:reset url_rewrite
Эта команда сбрасывает индексатор перезаписи URL-адресов, эффективно отсекая все перезаписи URL-адресов в базе данных.
Метод 2: программное сокращение перезаписи URL-адресов.
Если вы предпочитаете программный подход, вы можете использовать API Magento 2 для сокращения перезаписи URL-адресов. Создайте PHP-скрипт со следующим кодом:
<?php
use Magento\Framework\App\Bootstrap;
require __DIR__ . '/app/bootstrap.php';
$bootstrap = Bootstrap::create(BP, $_SERVER);
$objectManager = $bootstrap->getObjectManager();
$urlRewriteCollection = $objectManager->create('Magento\UrlRewrite\Model\ResourceModel\UrlRewriteCollection');
$urlRewriteCollection->setPageSize(100);
$urlRewriteCollection->load();
foreach ($urlRewriteCollection as $rewrite) {
$rewrite->delete();
}
Обязательно замените путь app/bootstrap.php
на соответствующее место в вашей установке Magento 2. Запуск этого сценария выполнит итерацию и удалит все перезаписи URL-адресов партиями по 100.
Метод 3. Усечение перезаписи URL-адресов с помощью запроса к базе данных.
Другой вариант — усечение перезаписи URL-адресов непосредственно в базе данных с помощью запросов SQL. Выполните следующие запросы к базе данных Magento 2:
SET FOREIGN_KEY_CHECKS = 0;
TRUNCATE TABLE url_rewrite;
TRUNCATE TABLE url_rewrite_category;
TRUNCATE TABLE url_rewrite_product_category;
SET FOREIGN_KEY_CHECKS = 1;
Эти запросы будут усекать необходимые таблицы, связанные с перезаписью URL-адресов, обеспечивая чистое удаление данных.
Усечение перезаписи URL-адресов в базе данных Magento 2 необходимо для поддержания чистой и оптимизированной структуры веб-сайта. В этой статье мы рассмотрели три метода: использование CLI, программное удаление перезаписей и усечение соответствующих таблиц базы данных. Выберите метод, который соответствует вашим потребностям, и эффективно управляйте перезаписью URL-адресов в своем магазине Magento 2.