2017-05-07 2 views
0
server { 
    listen <...:...>; 
    server_name <...>; 
    root /var/www/html/myserver; 

    location /myproject { 
     try_files $uri /myproject/web/app.php$is_args$args; 
    } 
    location ~ ^/myproject/web/(app_dev|config)\.php(/|$) { 
     fastcgi_pass <...php-fpm...>; 
     fastcgi_split_path_info ^(.+\.php)(/.*)$; 
     include fastcgi_params; 
     fastcgi_param SCRIPT_FILENAME $realpath_root$fastcgi_script_name; 
     fastcgi_param DOCUMENT_ROOT $realpath_root; 
    } 
    location ~ ^/myproject/web/app\.php(/|$) { 
     fastcgi_pass <...php-fpm...>; 
     fastcgi_split_path_info ^(.+\.php)(/.*)$; 
     include fastcgi_params; 
     fastcgi_param SCRIPT_FILENAME $realpath_root$fastcgi_script_name; 
     fastcgi_param DOCUMENT_ROOT $realpath_root; 
     internal; 
    } 

    location ~ \.php$ { 
     return 404; 
    } 

} 

내가 myserver.com/myproject/webNginx의 심포니 하위 디렉토리 구성

내가 myserver.com/myproject에서 내 프로젝트에 대한 액세스를 원하는 이동하려고 할 때 내 프로젝트를 볼 수 있습니다.

그러나 URL을 (심포니에서) (404)을 제공 :

rewrite ^/myproject(/|$)$ /myproject/web last; 

답변

0

귀하의 설정이 루트를 제외하고 좋아 보이는 : 내 구성 파일이 재 작성 규칙을 추가했지만 작동하지 않는 그

No route found for "GET /myproject/" 

. 다른 경로는 다음 변경해야합니다 : 당신은 참조를 위해 the NGINX config docs을 볼 수 있습니다

root /var/www/html/myserver/web; 

location/{ 
    ... 
} 
location ~ ^/(app_dev|config)\.php(/|$) { 
    ... 
} 
location ~ ^/app\.php(/|$) { 
    ... 
} 

location ~ \.php$ { 
... 

. 기존 설정을 사용하려면 ,이 URL을 시도해보십시오 작동 할 수

myserver.com/web

.