matikan penulisan ulang url dari sql / database

9

Saya telah menginstal penyihir dengan penulisan ulang url dihidupkan, tetapi server tidak melakukan penulisan ulang, jadi saya perlu mematikan penulisan ulang hanya untuk masuk ke admin!

Saya menghapus core_url_rewrite, tetapi tidak membantu.

Tidak masuk akal bahwa ini tidak mungkin tetapi saya belum menemukan referensi ke meja online seperti itu?

Jon
sumber
1
Apakah kamu TRUNCATE core_url_rewrite, DELETE FROM core_url_rewriteatau DROP TABLE core_url_rewrite?
Mihai Stancu

Jawaban:

11

Tabelnya adalah core_config_data

Cari kolom jalur untuk web/seo/use_rewrites

Ubah kolom nilai menjadi 0

Kosongkan cache Magento Anda sehingga tabel konfigurasi dibaca kembali.

Laboratorium Fiasco
sumber
Hari-hari ini Anda tidak perlu sql:magento config:set "web/seo/use_rewrites" "0"
Tandai
1

Anda harus masuk di backend lalu pergi ke system->configuration->web->Search Engines Optimizationdan mengatur bidang Use Web Server Rewriteske No. Bersihkan cache dan coba lagi.
Anda mungkin ingin membangun kembali indeks juga. Anda seharusnya tidak menghapus semua nilai dari core_url_rewrite. Proses pengindeksan ulang harus menambahkan nilai lagi.

Marius
sumber
ya saya tidak bisa masuk ke admin karena penulisan ulang aktif. Tebak itu tidak cukup jelas dari pertanyaan, tapi saya memang meminta opsi sql? Dan mengapa saya tidak menghapus url inti menulis ulang?
Jon
Meskipun Anda dapat memotong meja, menghapus meja akan menyebabkan Magento berguling dan mati. Anda kemudian harus membuat ulang tabel untuk mendapatkan Magento kembali seperti yang ditunjukkan @Mihai. Dan memotong tabel yang salah akan menghasilkan Magento benar-benar borked dengan satu-satunya pilihan menjadi pemulihan basis data lengkap.
Fiasco Labs
1
Anda harus dapat mengakses backend seperti ini:mysite.com/index.php/admin
Marius
1

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

Anda perlu untuk membangun kembali dengan core_url_rewritemeja, bahkan jika itu kosong.

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;

Kemudian bersihkan cache dan Anda mungkin juga perlu menjalankan reindex di baris perintah (baik reindex all atau reindex hanya url penulisan ulang).

`php shell/indexer.php reindexall`
Mihai Stancu
sumber