nginx サーバー ブロックに Web サイトをセットアップしましたが、正常に読み込まれています。ただし、ホームページ以外の Web ページを開こうとすると、404 Not Found メッセージが表示されます。このため、ホームページ以外のページは表示できません。
ここにsites-available
ファイルがあります。
server {
listen 80 ;
listen [::]:80 ;
root /var/www/yoalfaaz.com/html;
# Add index.php to the list if you are using PHP
index index.php index.html index.htm index.nginx-debian.html;
server_name yoalfaaz.com www.yoalfaaz.com;
location / {
# First attempt to serve request as file, then
# as directory, then fall back to displaying a 404.
try_files $uri $uri/ =404;
}
# pass the PHP scripts to FastCGI server listening on 127.0.0.1:9000
#
location ~ \.php$ {
include snippets/fastcgi-php.conf;
fastcgi_pass unix:/run/php/php7.0-fpm.sock;
}
location ~ /\.ht {
deny all;
}
}
どのページも開かないのはなぜか教えてください。私も使用しましたがnginx -t
、すべて正常に動作し、error.log ファイルにはエラーは記録されていません。
答え1
location
ブロックをここから変更する
location ~ \.php$ {
include snippets/fastcgi-php.conf;
fastcgi_pass unix:/run/php/php7.0-fpm.sock;
}
これに
location ~ \.php$ {
include snippets/fastcgi-php.conf;
fastcgi_pass unix:/run/php/php7.0-fpm.sock;
fastcgi_index index.php;
fastcgi_split_path_info ^(.+?\.php)(/.*)$;
# only uncomment the next line, if not set in fastcgi-php.conf already
# fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
}
ところで、あなたのページには別の問題があるようです: ファイルの接続タイムアウトを確認してくださいhttps://www.yoalfaaz.com/yoimg/yoalfaaz.png
答え2
その道存在しないファイルシステム内のファイルとして。これらは Web アプリケーションによって処理されます。ただし、実際にはそこにルーティングされるわけではなくtry_files
、代わりに 404 ページにルーティングされます。
try_files $uri $uri/ =404;
代わりに、静的ファイルではないリクエストを Web アプリケーションにルーティングする必要があります。例:
try_files $uri $uri/ /index.php$is_args$args;