nginx + WordPress im Unterordner + Debian-Konfiguration

Lesezeit: 2 Minuten

Benutzer-Avatar
Beta

In einem Unterordner einer Domain möchte ich einen WordPress-Blog installieren. Ich benutze nginx. Die URL für den Zugriff auf das Blog sollte wie folgt lauten: example.com/blog

Die Site-Konfiguration sieht wie folgt aus:

server {
        listen 80;
        listen [::]:80;
        root /var/www/example.com/html; 
        index index.php index.html index.htm index.nginx-debian.html;   
        server_name example.com www.example.com;

        location /blog {
                alias /var/www/example.comblog/html;
                index index.php;
                try_files $uri $uri/ /blog/index.php?q=$uri&$args;
        }

        location ~ /blog/.+\.php$ {
                try_files $uri =404;
                fastcgi_split_path_info ^(.+\.php)(/.+)$;
                fastcgi_pass unix:/var/run/php5-fpm.sock;
                fastcgi_index index.php;
                include fastcgi_params;
        }

        location ~ /\.ht {
                deny all;
        }
}
  • Die WordPress-Dateien befinden sich in dem Ordner
    /var/www/example.comblog/html. Beim Zugriff example.com/blogzeigt der Browser einen 404-Fehler an.

  • Im /etc/php5/fpm/php.ini Ich habe das angepasst: cgi.fix_pathinfo=0

  • nginx-Version: nginx/1.6.2

  • /var/log/nginx/error.log zeigt nichts Interessantes

UPDATE 1:

Nachdem die Fehlerprotokollierung auf debug gesetzt wurde, erscheinen (unter anderem) die folgenden Zeilen. Vielleicht hilft das:

open index "/var/www/example.comblog/html/index.php"
internal redirect: "/blog/index.php?"
rewrite phase: 1
test location: "/blog"
test location: ~ "/blog/.+\.php$"
using configuration "/blog/.+\.php$"
http script var: "/blog/index.php"
trying to use file: "/blog/index.php" "/var/www/example.com/html/blog/index.php"

Die interne Weiterleitung scheint falsch zu sein? Und in der letzten Zeile sollte es sein /var/www/example.comblog/html/blog/index.php Anstatt von /var/www/example.com/html/blog/index.php. Ich vermute, das ist der Grund für die 404. Weil die index.php existiert nicht bei /var/www/example.com/html/blog/index.php.

Aktualisierung 2:

Okay, es scheint eine zu geben langjähriges Problem bei der Verwendung von Alias ​​zusammen mit try_files.

  • Ihr PHP-Standort muss in den Alias-Standort verschachtelt sein – siehe meine Antwort hier.

    – Richard Smith

    3. April 2018 um 8:49 Uhr

1334920cookie-checknginx + WordPress im Unterordner + Debian-Konfiguration

This website is using cookies to improve the user-friendliness. You agree by using the website further.

Privacy policy