Table of Contents
- Innledning
- Kontroller integriteten til databasen
- Tilbakestill kategoriattributter
- Opprett URL-omskriving
- Feilsøking for konflikter med utvidelser
- Gjennomgå Magento logger og feilrapportering
- Bytt Magento til utviklermodus
- Sørg for riktig oppgradering og kompilering
- Verifiser kjernefilens integritet
- Riktig fil- og mappetillatelser
- Gjenopprett fra sikkerhetskopi
- Konklusjon
- FAQ
Innledning
Har du nylig oppdatert Magento-plattformen din fra versjon 2.4.3 til 2.4.7, bare for å oppdage at alle URL-ene til kategoriene dine returnerer 404-feil? For e-handelsvirksomheter kan slike avbrudd være en betydelig smertepunkt. Denne artikkelen tar sikte på å guide deg gjennom en omfattende feilsøkingsguide for å løse kategori-URL-problemer etter oppdatering. Ved slutten av dette innlegget vil du ikke bare forstå vanlige årsaker, men også få konkrete trinn for å få Magento-butikken din tilbake på rett spor.
Magento er en solid plattform, men versjonsoppdateringer kan noen ganger føre til uforutsette utfordringer. Denne bloggposten tar sikte på å gi en autoritativ guide for å takle slike hindringer. Vi vil dekke kontroll av databaseintegritet, tilbakestilling av kategoriattributter, URL-omskriving og feilsøking for konflikter med utvidelser, blant andre løsninger.
Hvis du sliter med ødelagte kategori-URL-er etter en Magento-oppdatering, er denne guiden skreddersydd for deg. La oss dykke ned i trinnene du trenger for å feilsøke og rette opp disse problemene.
Kontroller integriteten til databasen
Første trinn for å løse kategori-URL-problemer i Magento 2.4.7 er å forsikre deg om at integriteten til databasen ikke er kompromittert. Uoverensstemmelser i databasen kan føre til at kategorier ikke vises riktig.
Bekreft kategorientitetstabellen
Sørg for at kategorientitetstabellen (catalog_category_entity) er intakt. Kjør SQL-forespørsler for å sjekke etter manglende eller korrupte oppføringer. Bekreft også at foreldre-barn-forholdene i kategoritrestrukturen er riktig kartlagt.
SELECT * FROM catalog_category_entity WHERE entity_id NOT IN (SELECT entity_id FROM catalog_category_entity_varchar);
Bekreft EAV-tabellene
Modellen Entity-Attribute-Value (EAV) i Magento kan noen ganger føre til uoverensstemmelser i attributtene. Sjekk EAV-tabellene for å sikre at attributtverdiene samsvarer med de nødvendige skjemaene.
SELECT * FROM eav_attribute WHERE entity_type_id = (SELECT entity_type_id FROM eav_entity_type WHERE entity_type_code = 'catalog_category');
Bekreft URL-omskrivingstabellen
Sjekk url_rewrite-tabellen for å sikre at URL-omskrivingene for kategorier er riktig satt opp. Korrupte eller manglende URL-omskrivinger fører ofte til 404-feil.
SELECT * FROM url_rewrite WHERE entity_type = 'category';
Tilbakestill kategoriattributter
Attributter kan noen ganger bli ødelagt under en oppdatering. Ved å tilbakestille kategoriattributter kan du gjenopprette normal funksjonalitet.
Oppdater kategoriattributter
Kjør spørringer for å tilbakestille og oppdatere viktige kategoriattributter.
UPDATE catalog_category_entity_varchar SET value = 'ny-verdi' WHERE attribute_id = (SELECT attribute_id FROM eav_attribute WHERE attribute_code = 'name');
-- Erstatt 'ny-verdi' med faktiske verdier og 'navn' med andre attributtkoder hvis nødvendig
Opprett URL-omskriving
Noen ganger kan manuelt oppretting av URL-omskriving løse problemet.
Trinnvis guide for å opprette URL-omskriving
-
Deaktiver URL-omskriving:
UPDATE core_config_data SET value = 0 WHERE path = 'web/seo/use_rewrites'; -
Tøm hurtigbufferen:
php bin/magento cache:clean && php bin/magento cache:flush -
Reaktiver URL-omskriving:
UPDATE core_config_data SET value = 1 WHERE path = 'web/seo/use_rewrites'; -
Reindekser:
php bin/magento indexer:reindex
Feilsøking for konflikter med utvidelser
Ofte forårsaker utvidelser fra tredjeparter eller egendefinerte moduler konflikter som bryter funksjonaliteten etter oppdateringer.
Deaktiver alle utvidelser
Deaktiver alle tredjepartsmoduler og egendefinerte utvidelser for å se om problemet vedvarer.
php bin/magento module:disable Leverandør_Modulnavn
Hvis kategoriene begynner å fungere, aktiver utvidelsene en etter en for å identifisere den problematiske utvidelsen.
Gjennomgå Magento logger og feilrapportering
Sjekk loggene som finnes i var/log/-mappen for å få innsikt i hva som forårsaker problemet.
Undersøk logger
Søk etter feil som er relatert til kategorier eller URL-omskrivinger i system.log og exception.log.
tail -f var/log/system.log var/log/exception.log
Bytt Magento til utviklermodus
Ved å aktivere utviklermodus kan du få mer detaljerte feilmeldinger som er nyttige for feilsøking.
php bin/magento deploy:mode:set developer
Sørg for riktig oppgradering og kompilering
Sjekk at Magento-oppdateringen og kompileringen ble utført uten feil.
php bin/magento setup:upgrade
php bin/magento setup:di:compile
php bin/magento setup:static-content:deploy
Verifiser kjernefilens integritet
Sørg for at ingen kjernefiler i Magento ble endret under oppdateringsprosessen.
diff -rq /sti/til/opprinnelig/magento /sti/til/oppdatert/magento
Riktig fil- og mappetillatelser
Sørg for at fil- og mappetillatelser er satt riktig.
find . -type f -exec chmod 644 {} \;
find . -type d -exec chmod 755 {} \;
chmod 777 var/ pub/ generated/
Gjenopprett fra sikkerhetskopi
Som et siste utvei kan du gjenopprette kategoridata fra en sikkerhetskopi tatt før oppdateringen.
Konklusjon
Ved å følge trinnene som er beskrevet i denne omfattende guiden, bør du være i stand til å løse eventuelle 404-problemer med kategori-URL-er etter oppdatering til Magento 2.4.7. Pass alltid på at du har en sikkerhetskopi før du utfører oppdateringer eller større endringer. Hvis problemet vedvarer, bør du vurdere å kontakte Magento-støtte eller ansette en profesjonell utvikler.
FAQ
Hva er de første trinnene å ta når kategori-URL-er returnerer 404-feil etter en Magento-oppdatering?
Begynn med å kontrollere integriteten til databasen, tilbakestill kategoriattributter og opprett URL-omskriving.
Hvordan kan jeg identifisere om en utvidelse forårsaker problemet?
Deaktiver alle utvidelser fra tredjeparter og egendefinerte moduler, og aktiver deretter en av dem om gangen for å identifisere den skyldige.
Hvorfor bør jeg bytte Magento til utviklermodus for feilsøking?
Utviklermodus gir mer detaljerte feilmeldinger som kan være uvurderlige for diagnose av problemer.
Hva om kategoridataen min er ødelagt?
Vurder å gjenopprette fra en sikkerhetskopi hvis tilgjengelig. Dette kan være den raskeste måten å løse problemet på.