WordPress siteler bazen site taşırken yada bir eklenti tema kurarken alt sayfalarda 404 verebilir. Bunun bir kaç sebeni vardır.

1-Plesk Nginx web server için 404 hatası

Eğer nginx web sunucu kullanıp wordpress için 404 hatası alıyorsanız

Plesk panele giriş yapıp

Alan adları < alan adı < Apache ve nginx Ayarları kısmında bulunen en altta ki kutucuğa aşağıda ki kodu ekliyoruz.

if (!-e $request_filename) {
set $test P;
}
if ($uri !~ ^/(plesk-stat|webstat|webstat-ssl|ftpstat|anon_ftpstat|awstats-icon|internal-nginx-static-location)) {
set $test “${test}C”;
}
if ($test = PC) {
rewrite ^/(.*)$ /index.php?$1;
}

2- Apache ve Litespeed web server 404 hatası

Eğer apache veya litespeed web sunucusu kullanıyorsanız htaccess dosyanızı kontrol edin yoksa oluşturun yada varsa içinde aşağıda ki kod yoksa ekleyiniz.

# 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>

3- Windows ISS server kullanıyorsanız

Windows üzerine plesk panel veya maestro panel kullanıyorsanız aşağıda ki kodları web.config dosyasına ekleyiniz.

<?xml version=”1.0″ encoding=”UTF-8″?>
<configuration>
<system.webServer>
<rewrite>
<rules>
<rule name=”WordPress Rule” stopProcessing=”true”>
<match url=”.*” />
<conditions>
<add input=”{REQUEST_FILENAME}” matchType=”IsFile” negate=”true” />
<add input=”{REQUEST_FILENAME}” matchType=”IsDirectory” negate=”true” />
</conditions>
<action type=”Rewrite” url=”index.php” />
</rule>
</rules>
</rewrite>
</system.webServer>
</configuration>