찾다

 >  Q&A  >  본문

php - Phalcon은 / 경로에만 접근할 수 있으며, 다른 경로는 indexAction을 사용합니다. 무슨 일이 일어나고 있나요?

아래 단계를 수행한 결과 이상한 문제가 발생했습니다.
phalcon-devtools-2.0.13 도구를 사용하여 test라는 프로젝트를 만들었습니다.
그럼 성공적으로 실행됩니다!
그 후 다음 내용을 변경했습니다.

< /p>

문제 없습니다:

< /p>

하지만:

< /p>

경로를 추가했는데 문제가 발생했습니다.

< /p>

실례합니다. 무슨 일인가요? 저는 현재 php5.6 phalcon2.0 nginx 구성입니다:

<코드> 서버 {
           들어라 80;
           서버 이름 테스트;
           루트 /사용자/ryugou/test/public;
           색인 index.php index.html index.htm;
           문자셋 utf-8;
  
          위치/{
                try_files $uri $uri/ /index.php;
         }
 
        위치 ~ \.php$ {
             try_files $uri =404;
 
             fastcgi_pass 127.0.0.1:9000;
             fastcgi_index /index.php;
 
             fastcgi_params를 포함합니다;
             fastcgi_split_path_info ^(.+\.php)(/.+)$;
             fastcgi_param PATH_INFO $fastcgi_path_info;
             fastcgi_param PATH_TRANSLATED $document_root$fastcgi_path_info;
             fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
          }
 
         위치 ~ /\.ht {
             모두 거부하다;
         }
 }
phpcn_u1582phpcn_u15822750일 전737

모든 응답(2)나는 대답할 것이다

  • 怪我咯

    怪我咯2017-05-16 13:15:09

    포스트 DI 등록코드

    회신하다
    0
  • PHPz

    PHPz2017-05-16 13:15:09

    환경 문제는 php 버전이나 Phalcon 버전의 버그가 아니라 nginx 구성 문제입니다!
    함정!
    Phalcon의 기본 URI 정보는 $_GET['_url']에서 가져오며, $_SERER['REQUEST_URI']로 설정할 수도 있습니다.
    이 두 가지 방법을 사용하여 획득하려면 서로 다른 nginx 구성이 필요합니다! ! (자세한 내용은 Phalcon 문서 Phalcon nginx 구성을 참조하세요.)
    이것을 구성해야 합니다!
    $_GET['_url'] 사용(기본값):

    위치 / {

    으아아아

    }
    $_SERVER['REQUEST_URI'], nginx 구성 사용:

    위치 / {

    으아아아

    }
    $_SERVER['REQUEST_URI']를 정상적으로 사용하려면 nginx가 구성되었는지 여부에 관계없이 PHP 코드에서 수정해야 합니다.

    PhalconMvcRouter 사용;
    $router->setUriSource(Router::URI_SOURCE_SERVER_REQUEST_URI);

    회신하다
    0
  • 취소회신하다