Страницы веб-сайта не открываются, кроме домашней страницы с nginx

Страницы веб-сайта не открываются, кроме домашней страницы с nginx

Я настроил веб-сайт на 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;

Связанный контент