опять nginx и переадресации для seo

R
На сайте с 21.12.2024
Offline
12
191

Всем, привет, парни, бьюсь с настройками редиректов в nginx для seo, хочу убрать дубли и лишние / , т.е. сделать просто:

Основной домен:  https://server.ru

Переадресация должна быть:  https://server.ru --->  https://server.ru/

и с    http://server.ru --->  https://server.ru

          https://www.server.ru --->  https://server.ru

      и почему-то оба варианта отдают код 200  и  https://server.ru и  https://server.ru/, хотя по идее  https://server.ru/ должен отдавать 301

, что-то уже совсем офигел от них (

Вот конфиг: 

       server {

        listen :80;

        server_name server.ru www.server.ru;

       return 301 https://server.ru$request_uri;

         server {

         listen :443 ssl http2;

         server_name www.site.ru;

         ssl_certificate /var/www/.certs/letsencrypt/fullchain.pem;

         ssl_certificate_key /var/www/.certs/letsencrypt/privkey.pem;

         ssl_trusted_certificate /var/www/.certs/letsencrypt/chain.pem;

         ssl_dhparam /var/www/.certs/site.ru/dh.pem;

         return 301 https://site.ru$request_uri;

          }

        server {

         listen :443 ssl http2;

         resolver 8.8.8.8 8.8.4.4 1.1.1.1 1.0.0.1 valid=10m;

         resolver_timeout 10s;

         set $host_path "/var/www/site.ru/webroot";

         index index.php index.html;

         server_name site.ru;

         root        $host_path/;

         ssl_certificate /var/www/.certs/letsencrypt/fullchain.pem;

         ssl_certificate_key /var/www/.certs/letsencrypt/privkey.pem;

         ssl_trusted_certificate /var/www/.certs/letsencrypt/chain.pem;

         ssl_dhparam /var/www/.certs/site.ru/dh.pem;

         access_log off;

         error_log /var/www/ышеу.ru/logs/nginx/error.log crit;

        default_type text/html;

       rewrite ^/(.*)\?$ /$1 last;

       if ($host = 'www.site.ru') {return 301 https://site.ru$request_uri; }

       location = /index.htm {try_files $uri $uri/;}

       location = /index.html {try_files $uri $uri/;}

       location = /home.html {try_files $uri $uri/;}

       location = /home.php {try_files $uri $uri/;}

       location ~ ^(.+)\.html$ { return 301 $1; }

       location / { try_files $uri $uri/ @opencart; }

       location @opencart {rewrite ^/(.+)$ /index.php?_route_=$1 last;}

       include /etc/nginx/modules/*.conf;

      }

     почему-то основным идет домен   https://server.ru/ , а не на https://server.ru

     а редирект идет с https://server.ru/ --->  https://server.ru

    и тоже самое идет с http://site.ru ---> https://server.ru/,  а не на https://server.ru

    и еще один редирект идет с  https://server.ru/ --->  https://server.ru/   

    подскажите пожалуйста где  накосячил?


L
На сайте с 10.02.2015
Offline
258
#1
ТС,  https://server.ru и https://server.ru/ - это одно и то же. Корень домена живет в /.
Можешь проверить какой запрос шлет браузер в консоли.
Не переживай, это не дубли со стороны сервера.


R
На сайте с 21.12.2024
Offline
12
#2
livetv #:
ТС,  https://server.ru и https://server.ru/ - это одно и то же. Корень домена живет в /.
Можешь проверить какой запрос шлет браузер в консоли.
Не переживай, это не дубли со стороны сервера.


оба отдают 200, меня в принципе только корень беспокоил, с остальным все норм, страницы с / отдают 301, а страницы без / отдают 200
voronoff_dev
На сайте с 09.09.2019
Offline
48
#3

Ты ерундой занимаешься. Как выше написали, url один и тот же, если речь идёт о корне сайта: https://some.domain и https://some.domain/ - любой домен вбей в адресную строку браузера, после скопируй из неё адрес и посмотри.

А вот внутренние пути будут уже дублями считаться для ПС: https://some.domain/some-path и https://some.domain/some-path/ - и в этом случае лучше настроить 301-ый редирект.

Разработка, интеграция, автоматизация. Подробнее на сайте: https://voronoff.dev/

Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий