désactiver les réécritures d'url depuis sql / database

9

J'ai une installation de mage avec des réécritures d'URL activées, mais le serveur ne fait pas de réécritures, donc je dois désactiver les réécritures juste pour entrer dans l'admin!

J'ai supprimé core_url_rewrite, mais je n'ai pas aidé.

Cela n'aurait aucun sens que ce ne soit pas possible mais je n'ai pas trouvé de référence à un tel tableau en ligne?

Jon
la source
1
Avez-vous TRUNCATE core_url_rewrite, DELETE FROM core_url_rewriteou DROP TABLE core_url_rewrite?
Mihai Stancu

Réponses:

11

Le tableau est core_config_data

Recherchez dans la colonne du chemin web/seo/use_rewrites

Remplacez la colonne de valeur par 0

Videz votre cache Magento pour que la table de configuration soit relue.

Fiasco Labs
la source
Ces jours-ci, vous n'avez pas besoin de sql:magento config:set "web/seo/use_rewrites" "0"
Mark
1

Vous devez vous connecter dans le backend puis aller sur system->configuration->web->Search Engines Optimizationet définir le champ Use Web Server Rewritessur No. Vider le cache et réessayer.
Vous souhaiterez peut-être également reconstruire les index. Vous ne devez pas supprimer toutes les valeurs de core_url_rewrite. Le processus de réindexation doit à nouveau ajouter les valeurs.

Marius
la source
ouais je ne peux pas entrer dans l'admin car les réécritures sont activées. Je suppose que ce n'était pas assez clair de la question, mais j'ai demandé l'option sql? Et pourquoi ne dois-je pas supprimer la réécriture de l'URL principale?
Jon
Bien que vous puissiez tronquer une table, la suppression d'une table entraînera le renversement et la mort de Magento. Vous finissez ensuite par devoir recréer la table pour récupérer Magento comme le souligne @Mihai. Et en tronquant la mauvaise table, Magento sera complètement falsifié, la seule option étant une restauration complète de la base de données.
Fiasco Labs
1
Vous devriez pouvoir accéder au backend comme ceci:mysite.com/index.php/admin
Marius
1

Avec UPDATE core_config_data SET value = 0 WHERE path = 'web/seo/use_rewrites';.

Vous devez reconstruire la core_url_rewritetable, même si elle est vide.

CREATE TABLE `core_url_rewrite` (
    `url_rewrite_id` int(10) unsigned NOT NULL AUTO_INCREMENT,
    `store_id` smallint(5) unsigned NOT NULL DEFAULT '0',
    `category_id` int(10) unsigned DEFAULT NULL,
    `product_id` int(10) unsigned DEFAULT NULL,
    `id_path` varchar(255) NOT NULL DEFAULT '',
    `request_path` varchar(255) NOT NULL DEFAULT '',
    `target_path` varchar(255) NOT NULL DEFAULT '',
    `is_system` tinyint(1) unsigned DEFAULT '1',
    `options` varchar(255) NOT NULL DEFAULT '',
    `description` varchar(255) DEFAULT NULL,
    PRIMARY KEY (`url_rewrite_id`),
    UNIQUE KEY `UNQ_REQUEST_PATH` (`request_path`,`store_id`),
    UNIQUE KEY `UNQ_PATH` (`id_path`,`is_system`,`store_id`),
    KEY `FK_CORE_URL_REWRITE_STORE` (`store_id`),
    KEY `IDX_ID_PATH` (`id_path`),
    KEY `IDX_TARGET_PATH` (`target_path`,`store_id`),
    KEY `FK_CORE_URL_REWRITE_PRODUCT` (`product_id`),
    KEY `IDX_CATEGORY_REWRITE` (`category_id`,`is_system`,`product_id`,`store_id`,`id_path`),
    CONSTRAINT `FK_CORE_URL_REWRITE_CATEGORY` FOREIGN KEY (`category_id`) REFERENCES `catalog_category_entity` (`entity_id`) ON DELETE CASCADE ON UPDATE CASCADE,
    CONSTRAINT `FK_CORE_URL_REWRITE_PRODUCT` FOREIGN KEY (`product_id`) REFERENCES `catalog_product_entity` (`entity_id`) ON DELETE CASCADE ON UPDATE CASCADE,
    CONSTRAINT `FK_CORE_URL_REWRITE_STORE` FOREIGN KEY (`store_id`) REFERENCES `core_store` (`store_id`) ON DELETE CASCADE ON UPDATE CASCADE
) ENGINE=InnoDB AUTO_INCREMENT=283490 DEFAULT CHARSET=utf8;

Videz ensuite le cache et vous devrez peut-être également exécuter une réindexation dans la ligne de commande (soit réindexer tout, soit réindexer uniquement l'url réécrit).

`php shell/indexer.php reindexall`
Mihai Stancu
la source