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 Zugriffexample.com/blog
zeigt 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