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