Слишком много перенаправлений на установку Magento - Nginx/centos

У меня установлена ​​версия Magento 1.9.3.1. До вчерашнего дня все работало нормально, но теперь главная страница не работает с ошибкой - слишком много перенаправлений.

При дальнейшей проверке в консоли (firebug) я вижу, что все файлы отображаются перемещенными навсегда, а также добавляется дополнительная косая черта /, которая находится в двух косых чертах в конце имени места в адресе браузера. также в консоли все страницы get отображаются как //

Обновить:

Я заметил, что это только home-page/index.php, где я сталкиваюсь с этой проблемой. например, если я захожу на сайт / имя категории, он работает нормально.

Я попытался исправить это с помощью:

if(!$_SERVER['HTTPS'] || strtolower($_SERVER['HTTPS']) != 'on' ){
    header("HTTP/1.1 301 Moved Permanently");
    header('Location: https://' . str_replace('www.','',$_SERVER['HTTP_HOST']) . $_SERVER['REQUEST_URI']);
    exit();
}

но это тоже не сработало.

Дальнейшее обновление:

если я использую domain.com/index или domain.com/index.php/index, я могу получить доступ к сайту без

ошибка слишком много перенаправлений

или же

навсегда перемещена ошибка

Содержимое соответствующего файла conf:

server {
        listen 80;

        server_name www.sub.domain.com;
        #server_name sub.domain.com;
        #rewrite ^(.*) http://sub.domain.com$1 permanent;
}

server {
        listen 80 default;
        listen 443 ssl;
         server_name www.sub.domain.com;
          #ssl        on;
          #ssl_certificate         /key/domain.com.pem;
          #ssl_certificate_key     /key/domain.com.key;

        # access_log off;
        access_log /home/sub.domain.com/logs/access.log;
        # error_log off;
        error_log /home/sub.domain.com/logs/error.log;

        root /home/sub.domain.com/public_html;
        index index.php index.html index.htm;
        server_name sub.domain.com;

        location / {
                try_files $uri $uri/ /index.php?$args;
        }

1 ответ

Я заметил, что это только home-page/index.php где я сталкиваюсь с этой проблемой. Например, если я получу доступ site/category-name это работает нормально.

Я не могу сказать наверняка, является ли это причиной ваших проблем с перенаправлением (может быть что-то неправильно настроено в другом месте), но у вас есть четыре server_name директивы (две из которых являются активными двойниками www.sub.domain.com), когда вам нужна только одна.

Попробуйте это отредактировано .conf файл:

#server {
        #listen 80;

        #server_name sub.domain.com www.sub.domain.com;
        #rewrite ^(.*) http://sub.domain.com$1 permanent;
#}

server {
        listen 80 default;
        listen 443 ssl;
        server_name sub.domain.com www.sub.domain.com;
        #ssl        on;
        #ssl_certificate         /key/domain.com.pem;
        #ssl_certificate_key     /key/domain.com.key;

        # access_log off;
        access_log /home/sub.domain.com/logs/access.log;
        # error_log off;
        error_log /home/sub.domain.com/logs/error.log;

        root /home/sub.domain.com/public_html;
        index index.php index.html index.htm;

        location / {
                 try_files $uri $uri/ /index.php?$args;
        }

Заметки

Основное правило для nginx одно server_name директива на блок сервера (в отличие от Apache с ServerName а также ServerAlias). В этой директиве может быть указано несколько имен хостов.

Если вам нужны разные конфигурации для основного домена и дополнительного (под) домена, они должны быть в отдельных блоках сервера, например:

server {
        listen 80;

        server_name sub.domain.com;
        # ...other stuff...
}

server {
        listen 80;

        server_name www.sub.domain.com;
        # ...other stuff... 
}

Ресурсы http://nginx.org/en/docs/http/server_names.html

Другие вопросы по тегам