2017-04-08 14 views
3

내가 mojolicious를 사용하여 간단한 API를 생성 (만 기본 URL) URL을 캡처하는 것이 아니라, 그냥 Nginx 아파치에서 마이그레이션 한 및 URL을 처리하는 방법을 알아낼 수 없습니다 올바르게 여기 Mojolicious는

내 서버의 블록 구성입니다

server { 
    listen 80; 
    listen [::]:80; 
    root /var/www/example.com/public_html; 
    index index.pl index.html index.htm index.nginx-debian.html; 

    server_name example.com www.example.com; 

    location/{ 
      gzip off; 
      include /etc/nginx/fastcgi_params; 
      fastcgi_pass 127.0.0.1:8090; 
      fastcgi_param SCRIPT_FILENAME /var/www/example/public_html/$fastcgi_script_name; 
     } 
} 

그것은 Mojolicious에 의해 처리됩니다하지만 결과 다음과 같은 얻을 파일.

Method: GET 
URL:  
Base URL: http://example.com/clients/ 

위에서 볼 수 있듯이 기본 URL은 캡처되지만 URL은 비어 있습니다.

내 패턴은

Pattern Methods Name 
/clients GET clients 

무엇이 잘못인가? 요청을 올바르게 처리하려면 어떻게해야합니까?

답변

3

나는 동일한 문제에 직면 해있다. 다음 해결책을 찾았습니다.

app->hook(before_dispatch => sub { 
     my $c = shift; 
     $c->tx->req->url->path->{'path'} = @{$c->tx->req->env}{'REQUEST_URI'}; 
    }); 
app->start; 

그것은 빠르고 더러운 솔루션이지만 작동합니다.

희망이 도움이됩니다.

+0

작동합니다! 고맙습니다 !!! 당신의 도움을 주셔서 감사합니다 ! – bxfvgekd