• Объясните пожалуйста. Что это такое?

    Эмм...при попытке зайти на этот сайт ничего не появилось, днс гугла и яндекса ничего не знает об этом сайте. Может ваш местный днс все еще хранит информацию о нем?
    Ответ написан
    Комментировать
  • Как настроить постоянные ссылки в Wordpress на nginx?

    HeadOnFire
    @HeadOnFire
    PHP, Laravel & WordPress Evangelist
    У вас не конфиг, а какой-то винегрет...
    return 301 https://$server_name$request_uri;
    В рамках listen :80 вы редиректите на https?!
    location / {
        try_files $uri $uri/ /index.php?$args;
    }

    Этот фрагмент у вас вложен в такой же
    location / {
        ...
        location / {
            try_files $uri $uri/ /index.php?$args;
        }
        ...
    }

    Что это за чушь? В этом конфиге даже разбираться не хочется.

    Вот базовый конфиг, который работает и отвечает за пермалинки в том числе:
    server {
            # Слушаем 80й порт
            listen 80; 
            # Обслуживаем доменное имя, www тут же слушать не надо - будут дубликаты контента, печаль для SEO
            server_name example.com;
            # Корневая директория проекта
            root /var/www/example.com/httpdocs;
    
            # Индексы
            index index.php index.html;
    
            # Обработка запросов
            # $uri - существует ли конкретный файл
            # $uri/ - существует ли директория
            # /index.php?$args - если это не запрос на существующий файл или директорию, то перебрасываем на роутер WordPress (это и есть то, что надо для пермалинков)
            location / {
                    try_files $uri $uri/ /index.php?$args;
            }
    
            # Обрабатываем PHP
            location ~ \.php$ {
                    fastcgi_split_path_info ^(.+\.php)(/.+)$;
                    # NOTE: You should have "cgi.fix_pathinfo = 0;" in php.ini
                    fastcgi_pass unix:/var/run/php5-fpm.sock; # или php7.0-fpm.sock
                    fastcgi_index index.php;
                    fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
                    include fastcgi_params;
            }
    
            # Все остальное
    
            # Запрещаем доступ к .htaccess
            location ~ /\.ht {
                    deny all;
            }
    
            # Просим кешировать статику на Х дней, не писать в логи
            location ~*
            ^.+\.(js|css|swf|xml|txt|ogg|ogv|svg|svgz|eot|otf|woff|mp4|ttf|rss|atom|jpg|jpeg|gif|png|ico|zip|tgz|gz|rar|bz2|doc|xls|exe|ppt|tar|mid|midi|wav|bmp|rtf)$ {
                    access_log off;
                    log_not_found off;
                    expires 30d;
            }
    
    }
    
    # Отдельно слушаем домен с www и редиректим на основной
    server {
            # Слушаем 80й порт
            listen 80; 
            # Обслуживаем доменное имя c www
            server_name www.example.com;
            # Отправляем запрос на основной домен
            return 301 $scheme://example.com$request_uri;
    }

    Снабдил комментами для ясности.

    Что касается протокола HTTPS, то во-первых, его слушать надо на отдельном порту, а во-вторых, там еще SSL-сертификат надо подключать.
    Ответ написан
    5 комментариев