Ich habe eine Website auf einem Nginx-Serverblock eingerichtet und sie wird problemlos geladen. Aber sobald ich versuche, eine andere Webseite als die Startseite zu öffnen, wird die Meldung „404 Nicht gefunden“ angezeigt. Aus diesem Grund ist keine der Seiten außer der Startseite sichtbar.
Hier ist sites-available
die Datei.
server {
listen 80 ;
listen [::]:80 ;
root /var/www/yoalfaaz.com/html;
# Add index.php to the list if you are using PHP
index index.php index.html index.htm index.nginx-debian.html;
server_name yoalfaaz.com www.yoalfaaz.com;
location / {
# First attempt to serve request as file, then
# as directory, then fall back to displaying a 404.
try_files $uri $uri/ =404;
}
# pass the PHP scripts to FastCGI server listening on 127.0.0.1:9000
#
location ~ \.php$ {
include snippets/fastcgi-php.conf;
fastcgi_pass unix:/run/php/php7.0-fpm.sock;
}
location ~ /\.ht {
deny all;
}
}
Können Sie mir bitte sagen, woran es liegt, dass sich keine der Seiten öffnet? Ich habe es auch verwendet nginx -t
und alles läuft erfolgreich und es gibt keine Fehler in der Datei error.log.
Antwort1
Ändern Sie Ihren location
Block von diesem
location ~ \.php$ {
include snippets/fastcgi-php.conf;
fastcgi_pass unix:/run/php/php7.0-fpm.sock;
}
dazu
location ~ \.php$ {
include snippets/fastcgi-php.conf;
fastcgi_pass unix:/run/php/php7.0-fpm.sock;
fastcgi_index index.php;
fastcgi_split_path_info ^(.+?\.php)(/.*)$;
# only uncomment the next line, if not set in fastcgi-php.conf already
# fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
}
btw: es scheint noch ein weiteres Problem auf deiner Seite zu geben: Überprüfe das Verbindungstimeout für deine Dateihttps://www.yoalfaaz.com/yoimg/yoalfaaz.png
Antwort2
Diese Pfadeexistiert nichtals Dateien im Dateisystem. Sie werden von Ihrer Webanwendung verarbeitet. Aber Sie leiten sie nicht wirklich dorthin weiter try_files
. Sie leiten sie stattdessen an eine 404-Seite weiter.
try_files $uri $uri/ =404;
Stattdessen sollten Sie Anfragen, die keine statischen Dateien sind, an Ihre Webanwendung weiterleiten. Beispiel:
try_files $uri $uri/ /index.php$is_args$args;