Magento 설치에서 너무 많은 리디렉션-Nginx / centos


0

Magento 설치 버전 1.9.3.1이 있습니다. 어제까지는 제대로 작동했지만 현재 첫 페이지가 오류와 함께 작동하지 않습니다. 리디렉션이 너무 많습니다.

콘솔 (firebug)에서 추가 검사를하면 브라우저 주소에서 사이트 이름 끝에 두 개의 슬래시 / 슬래시가 추가되는 것처럼 모든 파일이 영구적으로 이동 한 것으로 표시됩니다. 또한 콘솔에서 모든 가져 오기 페이지가 //로 표시됩니다.

최신 정보:

이 문제가 발생하는 곳은 홈페이지 / index.php뿐입니다. 예를 들어 site / category-name에 액세스하면 정상적으로 작동합니다.

나는 그것을 사용하여 그것을 고치려고 노력했다 :

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;
        }

답변:


0

나는 home-page/index.php이 문제에 직면 한 곳 에서만 관찰했다 . 예를 들어, 액세스 site/category-name하면 정상적으로 작동합니다.

이것이 리디렉션 문제의 원인인지 확실하게 말할 수는 없지만 (다른 곳에서 잘못 구성 되었을 수 있음 ) 필요한 경우 4 가지 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(아파치는 달리 서버 블록 당 지침 ServerNameServerAlias). 이 지시문은 여러 개의 호스트 이름을 지정할 수 있습니다.

기본 도메인과 보조 (하위) 도메인에 대해 다른 구성을 원할 경우 별도의 서버 블록에 있어야합니다. 예 :

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

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.