веб-сайт 404 не найден в некоторых местах - PullRequest
0 голосов
/ 07 ноября 2018

Я перенес веб-сайт с физического сервера, на котором работает Apache, на виртуальную машину с nginx.

Когда я захожу на сайт по прямой ссылке, сайт работает: http://www.via -ap.com

но когда я захожу в Google и нажимаю на веб-сайт на правой панели, я получаю ошибку 404.

see picture here

см. Ниже:

https://www.google.fr/search?ei=Ri3jW4TXDZGalwSL46vQAQ&q=via+ap&oq=via+ap&gs_l=psy-ab.3...4929.5483.0.5646.6.5.0.0.0.0.0.0..0.0....0...1c.1.64.psy-ab..6.0.0....0.76V4PDLEtNM

Я делал эти тесты во многих браузерах и в приватном режиме.

моя настройка по умолчанию для nginx vhost:

server {
server_name _;
listen 80 default_server;
listen 443 ssl default_server;
ssl_certificate /etc/nginx/ssl/nginx.crt;
ssl_certificate_key /etc/nginx/ssl/nginx.key;
return 404;
}

и тогда у каждого веб-сайта есть свой собственный conf, подобный приведенному ниже:

server {
    listen 80;
    listen [::]:80;
    server_name website.com;
    return 301 https://www.$host$request_uri;
}

server {
    listen 443 ssl http2;
    listen [::]:443 ssl http2;
    server_name www.website.com website.com;
    root /home/website/www/;
    index index.html index.htm index.php;

    access_log /var/log/nginx/website.access_log;
    error_log /var/log/nginx/website.error_log info;

    location ~ \.php$ {
            fastcgi_pass unix:/var/run/php/php7.2-fpm-website.sock;
            fastcgi_index index.php;
            include fastcgi_params;
            fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
    }

    include /etc/nginx/conf/website.conf; /* file where strict transport security headers are defined */

    ssl_certificate /etc/letsencrypt/live/website.com/fullchain.pem;
    ssl_certificate_key /etc/letsencrypt/live/website.com/privkey.pem;
    ssl_trusted_certificate /etc/letsencrypt/live/website.com/chain.pem;

    include /etc/nginx/conf/ssl.conf;
}

Знаете почему?

Спасибо L.

1 Ответ

0 голосов
/ 07 ноября 2018

решение найдено. на первом блоке сервера (прослушать 80)

  • как вы сказали первым, я добавил www.website.com в дополнение к website.com

  • тогда я заменил возврат 301 https://www.$host$request_uri; на возврат 301 https://$host$request_uri;

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...