
🔗 Kuinka korjata rikkinäiset WordPress-permalinkit
Vierailet sivustolla, klikkaat linkkiä tuoreeseen artikkeliin, ja tekstin sijaan näet valkoisen sivun, jossa lukee "404 Page Not Found". Tutun näköinen kuva.
WordPressin pysyvälinkit on rakennettu yksinkertaisesti, mutta ne hajoavat hämmentävän helposti. Yksi rikkinäinen lisäosa, epäonnistunut päivitys tai vahingossa tehty muutos .htaccess-tiedostoon, ja koko sivusto muuttuu kokoelmaksi rikkinäisiä URL-osoitteita. Virallisen WordPress-tukifoorumin mukaan pysyvälinkkirakenteen virheet ovat viiden yleisimmän ongelman joukossa.
Alla on diagnosointi- ja korjausalgoritmi nopeasta asetusten nollauksesta palvelinasetusten manuaaliseen muokkaamiseen. Jokainen vaihe on testattu oikeilla sivustoilla. Paniikki peruttu.
💡 Nopea yleiskatsaus:
- Nollaa pysyvälinkkiasetukset hallintapaneelissa yhdellä klikkauksella, useimmilla sivustoilla ongelma häviää heti
- Jos nollaus ei toiminut, nimeä
.htaccessuudelleen ja nollaa uudelleen: WordPress luo puhtaan tiedoston, jossa on oikeat uudelleenkirjoitussäännöt - Tarkista lisäosat poissulkumenetelmällä: poista kaikki käytöstä kerralla ja ota ne käyttöön yksi kerrallaan jokaisen pysyvälinkkien nollauksen jälkeen
- Apache-palvelimella ota manuaalisesti käyttöön
mod_rewriteja lisääAllowOverride Allvirtuaalipalvelimen asetuksiin
Miksi WordPressin pysyvälinkit lakkaavat toimimasta
Pysyvälinkki on muuttumaton URL-osoite artikkelille, sivulle tai kategorialle. WordPress tallentaa pysyvälinkkirakenteen tietokantaan ja tarjoilee "kauniit" URL-osoitteet Apache-verkkopalvelimen mod_rewrite-moduulin kautta. Katkos missä tahansa tämän ketjun lenkissä tuottaa 404-virheen.
Uuden lisäosan asentaminen. Jotkin lisäosat häiritsevät URL-osoitteiden muodostusmekanismia: ne kirjoittavat .htaccess-tiedoston uusiksi, lisäävät omia uudelleenohjaus-sääntöjään tai ovat ristiriidassa jo aktiivisten laajennusten kanssa. SEO-lisäosat, välimuistiratkaisut ja tietoturvalisäosat ovat erityisessä riskivyöhykkeessä, ne kaikki työskentelevät URL-osoitteiden kanssa matalalla tasolla.
Ytimen, teeman tai lisäosien päivittäminen. Suuri WordPress-päivitys tai PHP-version vaihto palveluntarjoajalla tekee vanhoista lisäosista yhteensopimattomia. Tuloksena on ristiriita, joka kaataa uudelleenkirjoitussäännöt. Tietoturvapäivityksiä ei voi ohittaa, mutta ennen jokaista suurta päivitystä tee varmuuskopio ja tarkista yhteensopivuus staging-kopiolla.
Sivuston siirtäminen uudelle verkkotunnukselle tai palvelimelle. WordPress-migraatio on yksi yleisimmistä rikkinäisten linkkien syistä. Absoluuttiset polut muuttuvat, serialisoitu data tietokannassa ja verkkopalvelimen asetukset muuttuvat. Jopa SSL-varmenteen lisääminen migraation jälkeen voi rikkoa pysyvälinkit, koska se vaatii .htaccess-tiedoston muokkaamista HTTP→HTTPS-uudelleenohjausta varten. Jos siirsit äskettäin WordPress-asennuksen alihakemistoon, tarkista pysyvälinkkirakenne heti migraation jälkeen.
Varmuuskopion palauttaminen. Sivuston palauttaminen varmuuskopiosta herättää joskus henkiin myös vanhoja ongelmia. Jos varmuuskopio tehtiin ennen pysyvälinkkien määrittämistä, 404-virheet palaavat. Edes kehittyneet varmuuskopiolisäosat eivät takaa uudelleenkirjoitussääntöjen täydellistä palautumista monimutkaisten migraatioiden jälkeen.
Vioittunut .htaccess. .htaccess-tiedosto on linkki WordPressin ja Apachen välillä. Se tallentaa mod_rewrite-direktiivit, jotka vastaavat "kauniista" URL-osoitteista. Lisäosa kirjoittaa roskaa, poistat tiedoston vahingossa FTP:n kautta, ja jotkin hallintapaneelit nollaavat sen asetuksia muutettaessa. Ilman toimivaa .htaccess-tiedostoa pysyvälinkit muuttuvat muotoon ?p=123.
Kuinka korjata rikkinäiset pysyvälinkit: vaiheittainen opas
Olemme käsitelleet syyt, siirrytään nyt ratkaisuihin. Etene järjestyksessä: käytä kutakin seuraavaa vaihetta vain, jos edellinen ei toiminut.
Vaihe 1. Nollaa pysyvälinkkiasetukset
Nopein ja turvallisin menetelmä. WordPress tallentaa pysyvälinkkirakenteen tietokantaan, ja asetuksia tallennettaessa se luo uudelleenkirjoitussäännöt uudelleen. Kehittäjät kutsuvat tätä prosessia "flush rewrite rules".
Mene hallintapaneeliin, siirry kohtaan Asetukset → Pysyvälinkit:

Vaihda väliaikaisesti mihin tahansa toiseen rakenteeseen, esimerkiksi "Oletus" "Artikkelin nimi" -vaihtoehdon sijaan, ja napsauta Tallenna muutokset. Palauta sitten alkuperäinen vaihtoehto ja tallenna uudelleen. Sinun ei tarvitse muuttaa asetuksia pysyvästi: olennaista on tallennustapahtuma, joka pakottaa WordPressin rakentamaan säännöt uudelleen.
Lataa sivusto uudelleen ja tarkista, avautuvatko artikkelit. Toimiiko? Ongelma ratkaistu. Ei, siirry eteenpäin.
Vaihe 2. Tarkista ja luo.htaccess-tiedosto uudelleen
Jos nollaus ei auttanut, ongelman lähde on lähes varmasti .htaccess-tiedostossa. Tiedosto sijaitsee sivuston juuressa, samassa paikassa kuin wp-config.php sekä wp-content- ja wp-includes-kansiot.

Yhdistä palvelimelle FTP:n (FileZilla, WinSCP) tai hallintapaneelin tiedostonhallinnan kautta:

Etsi .htaccess, napsauta hiiren kakkospainikkeella ja nimeä se uudelleen muotoon .htaccess_old. Älä poista tiedostoa, se saattaa sisältää kriittisiä sääntöjä, kuten HTTP→HTTPS-uudelleenohjauksen tai pakkausasetukset:

Uudelleennimeämisen jälkeen WordPress ei enää näe vanhaa tiedostoa. Mene hallintapaneeliin ja nollaa pysyvälinkit kuten vaiheessa 1, järjestelmä luo uuden, puhtaan .htaccess-tiedoston, jossa on oikeat uudelleenkirjoitussäännöt. Pidä vanha tiedosto varmuuskopiona.
Vaihe 3. Etsi ristiriitainen lisäosa
Ilmenikö ongelma tietyn lisäosan asentamisen jälkeen? Poista se käytöstä ja nollaa pysyvälinkit uudelleen, todennäköisesti se riittää.
Kun syyllinen on tuntematon, käytä poissulkumenetelmää:

Poista kaikki lisäosat käytöstä kerralla. Nollaa pysyvälinkit. Tarkista sivusto: jos se toimii, ongelma on yhdessä lisäosista. Ota ne käyttöön yksi kerrallaan, nollaa asetukset ja tarkista sivusto jokaisen jälkeen. Lisäosa, jonka jälkeen linkit hajoavat uudelleen, on syy.
Korvaa löydetty ristiriitainen lisäosa vaihtoehdolla WordPress.org-hakemistosta. Ilmoita ongelmasta kehittäjälle: usein he tietävät yhteensopimattomuuksista ja osaavat ehdottaa kiertotietä.
Vaihe 4. Määritä palvelin: AllowOverride ja mod_rewrite
Jos aiemmat vaiheet eivät auttaneet ja käytät Apachea, ongelma saattaa olla virtuaalipalvelimen asetuksissa.
Varmista ensin, että mod_rewrite-moduuli on käytössä. Se muuntaa "kauniit" URL-osoitteet kyselyiksi, joita WordPress ymmärtää. Tarkista ja aktivoi se komennolla:
1 sudo a2enmod rewrite
Jos moduuli oli jo käytössä, näkyviin tulee varoitus, se on normaalia. Käynnistä nyt Apache uudelleen:
1 sudo systemctl restart apache2
CentOS/RHEL:ssä uudelleenkäynnistyskomento on eri:
1 sudo systemctl restart httpd
Toinen vaadittava komponentti on AllowOverride All -direktiivi. Se sallii .htaccess-tiedoston ohittaa palvelimen asetukset sivuston hakemistossa. Avaa Apachen asetustiedosto: Ubuntussa se on /etc/apache2/sites-available/your-site.conf, CentOS:ssä /etc/httpd/conf/httpd.conf. Etsi <Directory>-osio ja saata se tähän muotoon:
1 <Directory /var/www/your-site/> 2 AllowOverride All 3 </Directory>
Korvaa polku /var/www/your-site/ WordPressin juurikansion todellisella polulla palvelimellasi. Muokkauksen jälkeen käynnistä Apache uudelleen yllä olevalla komennolla ja nollaa sitten pysyvälinkit hallintapaneelissa.
Nämä kaksi palvelintoimenpidettä, AllowOverride All plus mod_rewrite, sulkevat käytännössä kaikki jäljellä olevat skenaariot rikkinäisistä pysyvälinkeistä Apachella.
Video: pysyvälinkkien palautus vaihe vaiheelta
Jos pidät enemmän katsomisesta kuin lukemisesta, tässä on lyhyt opas, joka näyttää koko prosessin pysyvälinkkiasetusten nollauksesta .htaccess-tiedoston palauttamiseen oikealla sivustolla:
⁉️🤔 Usein kysytyt kysymykset
Miksi 404-virhe jää jäljelle pysyvälinkkien nollauksen jälkeen?
Nollaus hallintapaneelin kautta kirjoittaa uudelleenkirjoitussäännöt uusiksi tietokannassa. Mutta jos
.htaccessei ole fyysisesti kirjoitettavissa, väärät käyttöoikeudet, WordPress ei voi päivittää tiedostoa palvelimella. Tarkista oikeudet: yleensä vaaditaan 755 kansioille ja 644 tiedostoille. Varmista myös, että.htaccesson fyysisesti olemassa: vaiheessa 2 tapahtuneen uudelleennimeämisen jälkeen WordPress luo uuden seuraavassa nollauksessa. Itse nollaus ei muuta olemassa olevien artikkelien URL-osoitteita eikä riko indeksointia.
Voinko vain poistaa.htaccess-tiedoston?
Et. Ilman
.htaccess-tiedostoa Apache-palvelimella WordPress palautuu "oletuslinkkeihin", kuten?p=123, tämä on rumaa ja vahingoittaa hakukoneoptimointia. Oikea järjestys: nimeä vanha tiedosto uudelleen säilyttäen varmuuskopio ja nollaa sitten pysyvälinkkiasetukset hallintapaneelissa. WordPress luo uuden.htaccess-tiedoston automaattisesti. Älä koskaan poista tiedostoa ilman mahdollisuutta palauttaa sitä: se saattaa sisältää kriittisiä HTTP→HTTPS-uudelleenohjaussääntöjä tai pakkausasetuksia.
Mitä tehdä, jos sivusto on Nginxillä?
Nginxillä ei ole
.htaccess-tiedostoa, kaikki uudelleenkirjoitussäännöt kirjoitetaan palvelimen asetuksiin. Vakiolohko WordPressille:location / { try_files $uri $uri/ /index.php?$args; }. Tarkista sivuston asetustiedosto (yleensä/etc/nginx/sites-available/your-site), lisää tämä lohkoserver-osioon ja lataa Nginx uudelleen:sudo systemctl reload nginx. Vaiheet 1 ja 3, linkkien nollaus ja lisäosien tarkistus, toimivat Nginxillä täsmälleen samoin kuin Apachella.
Mikä lisäosa rikkoo pysyvälinkit useimmiten?
Tilastollisesti SEO-lisäosat johtavat, ne manipuloivat suoraan URL-osoitteita, ja välimuistiratkaisut: ne luovat staattisia kopioita sivuista ja voivat "muistaa" rikkinäisen version. Kolmannella sijalla ovat tietoturvalisäosat, jotka muokkaavat
.htaccess-tiedostoa estääkseen epäilyttävät pyynnöt. Välimuistilisäosan poistamisen jälkeen muista tyhjentää selaimen välimuisti tai avata sivusto incognito-tilassa, staattinen välimuistiversio 404-virheellä saattaa näkyä jopa korjauksen jälkeen.
Pitääkö minun tarkistaa tietokannan eheys?
Harvinaisissa tapauksissa syynä on vioittunut
wp_options-taulu, johon pysyvälinkkiasetukset tallennetaan. Jos mikään kuvatuista menetelmistä ei auttanut, mene phpMyAdminiin, etsiwp_options-taulu ja tarkista merkintä, jossaoption_name = 'rewrite_rules'. Jos arvo näyttää roskalta tai vioittuneelta serialisoidulta objektilta, poista tämä merkintä ja nollaa sitten pysyvälinkkiasetukset hallintapaneelissa. WordPress luo uudelleenkirjoitussäännöt uudelleen tyhjästä. Useimmat käyttäjät eivät tarvitse tätä vaihetta: valtaosa ongelmista ratkeaa menetelmillä 1-3.
Mitä tehdä, jos mikään ei auttanut
Olemme edenneet yksinkertaisesta asetusten nollauksesta Apachen ja Nginxin palvelinasetuksiin. Suurimmalle osalle sivustoista yksi näistä menetelmistä ratkaisee ongelman.
Jos 404-virheet jatkuvat yhä, ota yhteyttä palveluntarjoajasi tekniseen tukeen. Kuvaile ongelma ja luettele jo suorittamasi vaiheet. Usein syy on palvelinympäristön erityispiirteissä: mod_rewrite poistettu käytöstä palveluntarjoajan tasolla, epästandardi PHP-FPM-asetus tai mukautetut palomuurisäännöt, jotka estävät pyynnöt index.php-tiedostoon. Palveluntarjoajan tuki näkee palvelimen puolen, joka on sinulta piilossa, ja ratkaisee tällaiset ongelmat minuuteissa.
Pääsääntö, joka kannattaa muistaa: nollaa pysyvälinkit → nimeä.htaccess uudelleen → nollaa uudelleen. Tämä kahden toimenpiteen sarja korjaa useimmat tapaukset eikä vaadi erityisosaamista eikä palvelinyhteyttä. Aloita sillä seuraavalla kerralla, ja todennäköisesti sinun ei tarvitse edetä pidemmälle.



