2017-08-26 5 views
0

PHPファイルが存在するかどうかを確認するためにtry_filesを追加しようとしましたが、私に誤りを与えなさい。PHPがfastcgi-php.confでエラーを起こすためのTry_files、 "try_files"指示が/etc/nginx/snippets/fastcgi-php.conf:5に複製されています

"try_files" directive is duplicate in /etc/nginx/snippets/fastcgi-php.conf:5 

ここで私はtry_filesに

location ~ \.php$ { 
    try_files $uri =404; 
    include snippets/fastcgi-php.conf; 
    fastcgi_pass unix:/run/php/php7.0-fpm-user.sock; 
} 

を追加する場所はここに私の競合サーバのブロックです。

server { 
    listen 80; 
    server_name www.example.com example.com; 
    return 301 https://example.com$request_uri; 
} 



server { 
    listen 443 ssl; 
    server_name www.example.com; 
    ssl_certificate /home/user/ssl/example.com.ssl-bundle.crt; 
    ssl_certificate_key /home/user/ssl/example.com.key; 
    return 301 https://example.com$request_uri; 
} 



server { 
    listen 443 ssl; 

    root /home/user/public_html; 
    index index.php index.html index.htm index.nginx-debian.html; 

    server_name example.com; 
    ssl_certificate /home/user/ssl/example.com.ssl-bundle.crt; 
    ssl_certificate_key /home/user/ssl/example.com.key; 

    location = /favicon.ico { 
     log_not_found off; 
     access_log off; 
    } 

    location = /robots.txt { 
     allow all; 
     log_not_found off; 
     access_log off; 
    } 

    include /home/user/public_html/nginx.conf; 

    location/{ 
     try_files $uri $uri/ /index.php?$args; 
    } 

    location ^~ /wp-login.php { 
     auth_basic "Administrator Login"; 
     auth_basic_user_file /etc/nginx/.htpasswd; 
     include snippets/fastcgi-php.conf; 
     fastcgi_pass unix:/run/php/php7.0-fpm-user.sock; 
    } 

    location /phpmyadmin { 
     auth_basic "Restricted Content"; 
     auth_basic_user_file /etc/nginx/.htpasswd; 
    } 

    # Phpmyadmin Configurations 
    location /phpmyadmin { 
     root /home/user/public_html/; 
     index index.php index.html index.htm; 
     auth_basic "Restricted Content"; 
     auth_basic_user_file /etc/nginx/.htpasswd; 
     location ~ ^/phpmyadmin/(.+\.php)$ { 
      try_files $uri =404; 
      root /home/user/public_html/; 
      fastcgi_pass unix:/run/php/php7.0-fpm-user.sock; 
      fastcgi_index index.php; 
      fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; 
      include fastcgi_params; 
     } 
     location ~* ^/phpmyadmin/(.+\.(jpg|jpeg|gif|css|png|js|ico|html|xml|txt))$ { 
      root /home/user/public_html/; 
     } 
    } 

    location /phpMyAdmin { 
     rewrite ^/* /phpmyadmin last; 
    } 

    location ~ \.php$ { 
     try_files $uri =404; 
     include snippets/fastcgi-php.conf; 
     fastcgi_pass unix:/run/php/php7.0-fpm-user.sock; 
    } 

    location ~* \.(js|css|png|jpg|jpeg|gif|ico)$ { 
     expires max; 
     log_not_found off; 
    } 

} 

私のサーバーブロックに問題がありますか? try_filesでエラーが表示されるのはなぜですか? fastcgi-php.confのバグですか?私のnginxのバージョン1.12.1

もう一つの問題で、私はここにhttps://serverfault.com/questions/433785/nginx-phpmyadmin-redirecting-to-instead-of-phpmyadmin-upon-login このフォーマットは動作しますが、私の知る限りでは、ルートが最後のスラッシュしていると想定されていないから、それを取得し、私のphpmyadminのブロックに確認してください。

おかげ

答えて

1

location ~ \.php$ { 
    try_files $uri =404; 
    include snippets/fastcgi-php.conf; 
    fastcgi_pass unix:/run/php/php7.0-fpm-user.sock; 
} 

あなたは既にsnippets/fastcgi-php.conf;

+0

は、私が見重複エラーの原因となっていることを持っているが、なぜ私が使用することはできません 'try_files $ uriのこのブロックからtry_filesを削除します= 403; 'あまりにも?私は 'snippets/fastcgi-php.conf;を使っていれば別の' try_files'を使うことさえできません編集:私の悪い点は、1つの場所に1つ以上の 'try_files'を使うことはできません。私は今とても疲れています:D後ろのスラッシュを使ってphpmyadminルートに関する2番目の質問はどうですか? – somuch72

+0

@ somuch72、投稿に1つの質問を残してみてください。したがって、解説と投稿の方が簡単です –

関連する問題