Я настроил веб-сайт на nginx server block и он нормально загружается. Но как только пытаюсь открыть любую веб-страницу, кроме домашней, появляется сообщение 404 Not Found. Из-за этого ни одна из страниц не просматривается, кроме домашней.
Вот sites-available
файл.
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;
}
}
Можете ли вы сказать, в чем проблема, что ни одна из страниц не открывается. Я тоже использовал nginx -t
и все прошло успешно и нет никаких ошибок в файле error.log.
решение1
Измените свой location
блок с этого
location ~ \.php$ {
include snippets/fastcgi-php.conf;
fastcgi_pass unix:/run/php/php7.0-fpm.sock;
}
к этому
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;
}
кстати: похоже, на вашей странице есть еще одна проблема: проверьте время ожидания соединения для вашего файлаhttps://www.yoalfaaz.com/yoimg/yoalfaaz.png
решение2
Эти путине существуеткак файлы в файловой системе. Они обрабатываются вашим веб-приложением. Но на самом деле вы не направляете их туда try_files
. Вместо этого вы направляете их на страницу 404.
try_files $uri $uri/ =404;
Вместо этого вам следует направлять запросы, которые не являются статическими файлами, в ваше веб-приложение. Например:
try_files $uri $uri/ /index.php$is_args$args;