Artikelformat

Permalinks mit Nginx und WordPress

3 Kommentare

Nach doch zahlreichen Problemen und nicht laufenden Rewriterules im Internet lies sich WordPress letztlich dennoch überreden, auch mit Nginx vernünftige, SEO freundliche URLs darstellen zu lassen.

if (!-e $request_filename) {
rewrite ^([_0-9a-zA-Z-]+)?(/wp-.*) $2 break;
rewrite ^([_0-9a-zA-Z-]+)?(/.*\.php)$ $2 last;
rewrite ^ /index.php last;
}

Danach funktionieren die Rewriterules auch mit Nginx vernünftig und es müssen keine weiteren Einstellungen für vorhandene Verzeichnisse, oder Grafik- & Styledatein vorgenommen werden.

so aehnlich:

3 Kommentare An der Unterhaltung teilnehmen

  1. Sorry, I don't speak German (though understand it a bit), but your rewritw configuration is not optimal: checking everytime if $request_filename exists negatively imapcts the performance.

    The correct configuration should look like this:

    <code>
    location / {
    log_not_found off;
    error_page 404 = @wordpress;
    }

    location @wordpress {
    fastcgi_pass …;
    fastcgi_param SCRIPT_FILENAME /path/to/blog/index.php;
    include /etc/nginx/fastcgi_params;
    fastcgi_param SCRIPT_NAME /path/to/blog/index.php;
    }

    location ~ .php$ {
    if (!-e $request_filename) {
    rewrite ^(.+)$ /index.php last;
    break;
    }

    fastcgi_index index.php;
    fastcgi_pass ..;
    fastcgi_param SCRIPT_FILENAME /path/to/blog$fastcgi_script_name;
    include /etc/nginx/fastcgi_params;
    }
    </code>

    This reduces the number of checks (in fact, only .php files are checked).

    If you use nginx 0.7.x, you can use try_files instead – this seems to be faster.

    Antworten

Schreibe eine Antwort

Pflichtfelder sind mit * markiert.