WordPress permite crearea de URL-uri SEF. Aceasta optiune poate fi controlata din Panoul de administrare > Setari > Legaturi permanente.
Pentru ca URL-urile SEF sa functioneze corect in Apache trebuie sa adaugam in .htaccess urmatoarele linii:
<ifmodule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteRule ^index\.php$ – [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
</ifmodule>
Daca in schimb folosim nginx treba devine putin mai inaccesibila pentru ca serverul web nginx nu citeste instructiunile din fisierul .htaccess. Daca avem drept de administrare putem gasi totusi o solutie. Ca sa rezolvam problema trebuie sa editam in fisierul nginx.conf blocul server corespunzator domeniului si sa adaugam urmatoarele linii:
if (!-e $request_filename ) {
rewrite ^(.+)$ /index.php$1 last;
break;
}
Cele patru linii vor trimite toate cererile catre fisiere care nu exista fizic catre fisierul index.php, adica exact ce fac regulile mentionate mai sus pentru Apache.