
Når forsiden virker, men alle undersider giver 404, er permalink-strukturen holdt op med at fungere. I langt de fleste tilfælde løses det ved at gå ind under Indstillinger → Permanente links og trykke Gem uden at ændre noget.
Det lyder for enkelt, men det er rigtigt: WordPress genskriver .htaccess ved det tryk, og det er som regel netop den fil, der er blevet ødelagt eller overskrevet.
WordPress har kun én rigtig fil, index.php. Når nogen besøger /wordpress-hosting/, findes der ingen mappe med det navn. Serveren skal derfor have besked om at sende alle forespørgsler videre til WordPress, som så finder den rigtige side i databasen.
Den besked står i .htaccess på Apache og LiteSpeed, eller i serverkonfigurationen på nginx. Forsvinder den, kan serveren kun finde de filer, der findes fysisk — og derfor virker forsiden, mens alt andet giver 404.
Gå til Indstillinger → Permanente links og tryk Gem ændringer. Rør ikke ved selve strukturen. Løser det problemet, var .htaccess årsagen, og du er færdig.
Kan WordPress ikke skrive til filen, får du en besked om det. Opret eller ret .htaccess i roden med standardindholdet:
# BEGIN WordPress
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
</IfModule>
# END WordPress
Sæt rettighederne til 644. Er de strammere, kan WordPress ikke opdatere filen selv næste gang.
Efter flere flytninger ender man nogle gange med to WordPress-blokke i samme fil. Behold én. Regler fra cache- eller sikkerhedsplugins skal ligge over WordPress-blokken, ikke inde i den.
Der findes ingen .htaccess. Reglen skal stå i serverkonfigurationen:
location / {
try_files $uri $uri/ /index.php?$args;
}
Den skal lægges ind af den, der administrerer serveren. På WordPress hosting hos Hostious er den på plads fra start, og supporten kan rette den, uden at du selv skal ind i konfigurationen.
Så er det ikke permalink-strukturen, men enten en slug-konflikt eller en side, der reelt er slettet.
Slug-konflikt sker, når en side og et indlæg har samme adresse, eller når en vedhæftet fil optager adressen. Prøv at ændre sluggen på den side, der ikke virker, gem, og skift tilbage — det tvinger WordPress til at rydde op.
.htaccess før enhver flytningFordi forsiden serveres af index.php, som findes fysisk. Alle andre adresser kræver en genskrivningsregel.
Nej. Filen indeholder kun serverregler. Indhold ligger i databasen og i uploads-mappen.
Ja, hvis det skriver sine egne regler ind i .htaccess og kommer til at overskrive WordPress-blokken. Ryd cachen og gem permalinks igen.