Løse problemer med Magento 2.4.7-kategori-URL 404-feil

Table of Contents

  1. Innledning
  2. Kontroller integriteten til databasen
  3. Tilbakestill kategoriattributter
  4. Opprett URL-omskriving
  5. Feilsøking for konflikter med utvidelser
  6. Gjennomgå Magento logger og feilrapportering
  7. Bytt Magento til utviklermodus
  8. Sørg for riktig oppgradering og kompilering
  9. Verifiser kjernefilens integritet
  10. Riktig fil- og mappetillatelser
  11. Gjenopprett fra sikkerhetskopi
  12. Konklusjon
  13. 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

  1. Deaktiver URL-omskriving:

    UPDATE core_config_data SET value = 0 WHERE path = 'web/seo/use_rewrites';
    
  2. Tøm hurtigbufferen:

    php bin/magento cache:clean && php bin/magento cache:flush
    
  3. Reaktiver URL-omskriving:

    UPDATE core_config_data SET value = 1 WHERE path = 'web/seo/use_rewrites';
    
  4. 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å.