2017-05-07 9 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のsymfonyのサブディレクトリ構成

を行くことにしようとしたとき、私は私がmyserver.com/myprojectで私のプロジェクトにアクセスしたい私のプロジェクトを見ることができます。

しかし、このURLは(symfonyにおいて)404を与える:

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

答えて

0

あなたの設定は、あなたのルートを除いてOKになります。私は私の設定ファイルで、この書き換えルールを追加しましたが、動作していないその

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

関連する問題