2017-01-27 16 views
0

は私が禁止エラー場所(別名)ブロックは、私は<a href="http://my_ip/cachet/" rel="nofollow noreferrer">http://my_ip/cachet/</a>にアクセスすると、私はそれが言う<a href="http://my_ip/cachet/index.php" rel="nofollow noreferrer">http://my_ip/cachet/index.php</a>に行くとき

location /cachet/ { 
    alias /var/www/cachet/public; 
    try_files $uri $uri/ /index.php?$query_string; 

    location ~ \.php$ { 
     fastcgi_pass unix:/run/php/php7.0-fpm.sock; 
     fastcgi_index index.php; 
     include   fastcgi_params; 
     fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; 
    } 
} 

を得る禁じ与える「ファイルが見つかりません。」

nginxのは、PHPとnginxのプロセスを実行するcachetフォルダ

drwxr-xr-x 13 www-data www-data 4096 jan 27 01:26 cachet 

を読むことができるようになります。

[email protected]:/var/www# ps aux -P | grep nginx 
root  21623 0.0 0.0 125756 1684 ?  Ss 01:43 0:00 nginx: master process /usr/sbin/nginx -g daemon on; master_process on; 
www-data 21624 0.0 0.0 125756 2300 ?  S 01:43 0:00 nginx: worker process 
www-data 21625 0.0 0.0 125756 2992 ?  S 01:43 0:00 nginx: worker process 
root  21636 0.0 0.0 12888 1120 pts/0 S+ 01:50 0:00 grep --color=auto nginx 
[email protected]:/var/www# ps aux -P | grep php 
root  17562 0.0 0.4 280252 19476 ?  Ss jan26 0:00 php-fpm: master process (/etc/php/7.0/fpm/php-fpm.conf) 
www-data 17563 0.0 0.6 285472 26408 ?  S jan26 0:00 php-fpm: pool www 
www-data 17564 0.0 0.6 285792 26708 ?  S jan26 0:00 php-fpm: pool www 
root  21638 0.0 0.0 12888 1116 pts/0 S+ 01:50 0:00 grep --color=auto php 

答えて

0

試してみてください。

location ^~ /cachet/ { 
    alias /var/www/cachet/public/; 
    if (!-e $request_filename) { rewrite^/cachet/index.php last; } 

    location ~ \.php$ { 
     if (!-f $request_filename) { return 404; } 
     fastcgi_pass unix:/run/php/php7.0-fpm.sock; 
     include   fastcgi_params; 
     fastcgi_param SCRIPT_FILENAME $request_filename; 
    } 
} 
  • 場所とエイリアスの値にすべきですどちらも、/または/のいずれも終了しません。詳細については、this documentを参照してください。
  • aliastry_filesを一緒に使用しないでください。 this long term issueおよびthis caution using ifを参照してください。
  • エイリアス化されたパス名を取得するには、$request_filenameを使用します。
0

try_filesディレクティブの行動を決して忘れない: try_filesディレクティブの最後のparamが現在のスコープ(通常server)でALL locationブロックの再評価につながります。

/index.php?$query_string;は接頭辞/cachet/と一致しないため、PHPエンジンのネストされた場所には決して到達しません。

関連する問題

 関連する問題