
🔗 WordPress-permalinkkien nollaaminen: 3 tapaa korjata 404-virhe
Tiedät tunteen: avaat verkkosivuston ja näet valkoisen ruudun ja pelätyn 404:n. Etusivu latautuu hyvin, hallintapaneeli toimii, mutta itse artikkeli tai sivu ei. Tarkistat URL-osoitteen, tallennat artikkelin uudelleen, tyhjennät lisäosan välimuistin, mikään ei auta.
Yhdeksän kertaa kymmenestä perimmäinen syy on rikkinäiset WordPressin uudelleenkirjoitussäännöt. Osoiterakenteet lakkasivat toimimasta, eikä CMS pysty päättelemään, mitä sisältöä kyseisessä osoitteessa pitäisi näyttää. Hyvä uutinen: tämän voi korjata minuutissa ilman lisäosia tai koodimuutoksia.
Alla on kolme tapaa nollata osoiterakenteet: yksinkertaisimmasta (pari klikkausta hallintapaneelissa) manuaaliseen tietokantakorjaukseen phpMyAdminin kautta. Nollauksen jälkeen 404-virhe katoaa ja URL-rakenne säilyy ennallaan.
💡 Pikaopas:
- Siirry WordPressin hallintapaneeliin ja klikkaa "Tallenna muutokset" Osoiterakenne-sivulla.
- Lisää rivi koodia teemasi functions.php-tiedostoon, päivitä sivusto ja poista rivi.
- Tyhjennä rewrite_rules-kenttä wp_options-taulusta phpMyAdminin kautta.
- Varmista tulos: avaa ongelmallinen sivu ja vahvista, että 404 on poissa.
Mitä osoiterakenteet ovat ja miksi ne pitää nollata
Osoiterakenteet ovat ihmisluettavia URL-osoitteita WordPressin sivuille ja artikkeleille. Sen sijaan, että näkyisi ?p=123, näet /blog/how-to-reset-permalinks/. Muunnoksen hoitaa uudelleenkirjoitussääntöjen mekanismi, joukko sääntöjä, jotka CMS tallentaa tietokantaan ja (tietyillä asetuksilla) .htaccess-tiedostoon.
Kun lisäät uuden sisältötyypin, muutat linkkirakennetta tai sivuston migraation jälkeen uudelleenkirjoitussäännöt eivät välttämättä päivity automaattisesti. WordPress käyttää edelleen vanhoja välimuistissa olevia sääntöjä, ja fyysisesti olemassa oleva sivu palauttaa 404:n. Tyhjennys pakottaa rakentamaan uudelleenkirjoitussäännöt uudestaan alusta: se poistaa tallennetut säännöt ja luo ajantasaiset.
Tämä ei ole osoiterakenteiden "poistamista"; asetuksissa määritelty URL-rakenne pysyy muuttumattomana. Vain sisäinen reitityssääntöjen välimuisti muuttuu. Toimenpide on täysin turvallinen: teemoihin, lisäosiin ja sisältöön ei kosketa.
Tapa 1. WordPressin hallintapaneelin kautta
Nopein ja turvallisin tapa on nollaus hallintapaneelin kautta. Käytä tätä, kun hallintapaneeli on käytettävissä.
- Kirjaudu WordPressin hallintakonsoliin:
your-site.com/wp-admin. - Siirry kohtaan Asetukset → Osoiterakenne.
- Älä muuta mitään asetuksissa, vieritä vain sivun alaosaan.
- Klikkaa sinistä "Tallenna muutokset" -painiketta.

WordPress rakentaa hiljaisesti uudelleenkirjoitussäännöt uudelleen ja päivittää .htaccess-tiedoston (jos se on käytössä). Mitään onnistumisilmoitusta ei tule; avaa vain ongelmallinen sivu uudessa selaimen välilehdessä ja tarkista, onko virhe poissa.
Miksi tämä toimii? Kun klikkaat "Tallenna muutokset", CMS kutsuu sisäistä flush_rewrite_rules()-funktiota, samaa jota kehittäjät käyttävät koodissa. Ainoa ero on laukaisutavassa: tässä klikkaat hiirellä PHP:n kirjoittamisen sijaan.
Tämä tapa ratkaisee ongelman valtaosassa tapauksista. Jos se ei auttanut, siirry tapaan 2.
Tapa 2. Teeman functions.php-tiedoston kautta
Jos hallintapaneeli ei lataudu tai "Tallenna"-painike ei tuottanut tulosta, nollaa säännöt ohjelmallisesti. Tarvitset pääsyn sivuston tiedostoihin: FTP:n, hostingin tiedostonhallinnan tai sisäänrakennetun teemaeditorin kautta.
Tärkeää: flush_rewrite_rules() on raskas operaatio. Se rakentaa koko URL-rakenteen uudelleen ja hidastaa sivustoa huomattavasti, jos sitä kutsutaan jokaisella sivulatauksella. Siksi lisäämme funktion kerran, päivitämme sivuston ja poistamme rivin välittömästi.
- Avaa aktiivisen teeman
functions.php-tiedosto. Polku:/wp-content/themes/your-theme/functions.php. - Lisää tiedoston loppuun, ennen päättävää
?>-merkintää (jos sellainen on), yksi rivi:
1 flush_rewrite_rules();
- Tallenna tiedosto.
- Päivitä mikä tahansa sivuston sivu selaimessa; funktio suoritetaan ensimmäisellä latauksella.
- Avaa
functions.phpuudelleen ja poista lisäämäsi rivi. Tämä vaihe on pakollinen.

Funktio ajettiin kerran, säännöt rakennettiin uudelleen, koodi poistettiin ja sivusto toimii normaalisti ilman ylimääräistä kuormaa. Lisäosien kehittäjät käyttävät samaa lähestymistapaa: flush_rewrite_rules() kytketään aktivointikoukkuun, ei jokaiseen pyyntöön.
Vaihtoehto niille, jotka eivät halua koskea suoraan functions.php-tiedostoon: Code Snippets -lisäosa. Luo uusi pätkä samalla koodilla, suorita se kerran ("Suorita"-painike) ja poista se. Lopputulos on sama.
Tapa 3. phpMyAdminin kautta, suora sääntöjen nollaus tietokannassa
Syvin taso on uudelleenkirjoitussääntöjen manuaalinen tyhjentäminen suoraan wp_options-taulusta. Käytä tätä, kun sinulla ei ole pääsyä hallintapaneeliin eikä teematiedostoihin (esimerkiksi valkoinen kuolemanruutu koko sivustolla tietokantaa lukuun ottamatta).
Muista varmuuskopioida tietokanta ennen kuin teet muutoksia phpMyAdminissa. Yksikin väärä toimenpide SQL-editorissa voi vahingoittaa sivustoa peruuttamattomasti.
- Avaa phpMyAdmin hosting-paneelisi kautta (cPanel, ISPmanager, DirectAdmin) "Tietokannat"-osiossa.
- Valitse vasemmasta sarakkeesta WordPress-sivustosi tietokanta.
- Siirry ylävalikon SQL-välilehdelle.
- Liitä kysely tekstikenttään ja klikkaa "Suorita":
1 SELECT * FROM wp_options WHERE option_name = 'rewrite_rules'
- Tulokset näyttävät yhden rivin. Klikkaa "Muokkaa" (kynäkuvake) sen vieressä.
- Etsi
option_value-kenttä, joka sisältää pitkän tekstin serialisoitua dataa. Valitse kentän koko sisältö ja poista se, tallenna sitten.

Seuraavalla sivulatauksella WordPress havaitsee tyhjän rewrite_rules-arvon, tajuaa ettei sääntöjä ole ja luo ne automaattisesti uudelleen. Sinun ei tarvitse suorittaa mitään muuta.
Huomautus: joissakin hosting-kokoonpanoissa taulun etuliite voi poiketa wp_-etuliitteestä. Jos etuliitteesi on eri (esimerkiksi wpxy_), korvaa wp_options muodolla wpxy_options. Voit tarkistaa etuliitteen wp-config.php-tiedostosta, $table_prefix-riviltä.
Video: osoiterakenteiden nollaus käytännössä
Jos pidät enemmän katsomisesta kuin lukemisesta, tämä video näyttää koko osoiterakenteiden nollausprosessin ensimmäisellä tavalla hallintapaneeliin kirjautumisesta tuloksen varmistamiseen:
⁉️🤔 Usein kysytyt kysymykset
Katoavatko URL-osoitteeni osoiterakenteiden nollauksen jälkeen?
Ei. Tyhjennys ei muuta "Asetukset → Osoiterakenne" -kohdassa määriteltyä linkkirakennetta. Se rakentaa vain sisäisen reitityssääntöjen välimuistin uudelleen. Kaikki osoitteesi, kuten
/blog/,/product/ja/category/, pysyvät täsmälleen samoina. Poikkeuksena on tilanne, jossa muutit rakennetta manuaalisesti asetuksissa ennen tallentamista; siinä tapauksessa URL-osoitteet rakennetaan uudelleen uuden mallin mukaan.
Pitääkö minun asentaa lisäosa osoiterakenteiden nollaamiseksi?
Kertaluonteiseen toimenpiteeseen ei todellakaan tarvitse. Yllä olevat kolme tapaa kattavat kaikki skenaariot ilman lisäohjelmistoja. Lisäosat, kuten Rewrite Rules Inspector, ovat järkeviä vain, jos rekisteröit säännöllisesti mukautettuja sisältötyyppejä ja taksonomioita koodissa ja haluat nähdä sääntöjen tilan reaaliajassa. Yksinkertaiseen 404-korjaukseen tämä on ylimitoitettua.
Nollaus hallintapaneelin kautta ei auttanut. Mitä seuraavaksi?
Tarkista, ohittaako jokin toinen lisäosa (välimuisti, tietoturva, SEO)
.htaccess-tiedoston. Ota epäilyttävät lisäosat väliaikaisesti pois käytöstä ja toista nollaus. Jos tämä ei auta, siirry tapaan 2 (PHP); se kutsuu taatusti samaaflush_rewrite_rules()-funktiota ohittaen kaikki hallintapaneelin suodattimet.
Voinko nollata säännöt WP-CLI:n kautta?
Kyllä, jos WP-CLI on asennettu palvelimelle,
wp rewrite flush-komento tekee täsmälleen saman asian komentoriviltä. Tämä on nopein tapa SSH:n kautta työskenteleville kehittäjille. Se suoritetaan välittömästi, ei vaadi selaimen avaamista eikä jätä jälkiä teeman koodiin.
Mitä minun pitäisi tehdä, jos 404-virhe jatkuu nollauksen jälkeen?
Syy ei ole osoiterakenteissa. Tarkista kolme asiaa: (1) onko sivu tai artikkeli itse fyysisesti poistettu, (2) onko polkutunnus ristiriidassa muun sisällön tai taksonomian kanssa, (3) estävätkö pyynnöt
.htaccess-tiedosto, jossa on virheellisiä uudelleenohjaussääntöjä. Viimeisessä tapauksessa nimeä.htaccessväliaikaisesti muotoon.htaccess.bak, tallenna osoiterakenteet hallintapaneelin kautta (WordPress luo uuden.htaccess-tiedoston) ja tarkista uudelleen.
Nollasit linkit, mitä seuraavaksi?
Suoritit nollauksen yhdellä kolmesta tavasta, ja sivu avautui. Hienoa. Mutta jos 404 ilmestyi kerran, se voi palata: lisäosan päivityksen, teeman vaihdon tai mukautettujen sisältötyyppien muokkausten jälkeen. Lisää tämä opas kirjanmerkkeihin; osaat nyt ensimmäisen tavan ("Tallenna"-painike hallintapaneelissa) ulkoa ja selviät siitä kymmenessä sekunnissa.
Ja tärkein sääntö tietokannan kanssa työskennellessä: tee varmuuskopio ennen jokaista toimenpidettä. phpMyAdmin ei anna virheitä anteeksi, mutta tietokannan varmuuskopio herättää sivuston henkiin parissa minuutissa.



