Nginx
使用 nginx 的 Wordpress 子域出現錯誤 404
我正在設置一個帶有 wordpress 的子域。我的 nginx 配置出現 404 錯誤。目前使用 PHP 版本:7.0.22,在 php 日誌中沒有收到任何錯誤,但我在 nginx
/var/log/nginx/error.log
*1 open() "/usr/share/nginx/html/50x.html" failed (2: No such file or directory), client: xxx.xxx.xxx.xxx, server: kb.workspire.io, request: "GET / HTTP/1.1", upstream: "fastcgi://unix:/var/run/php7-fpm.sock", host: "kb.workspire.io"
這是我目前的伺服器塊
/etc/nginx/sites-available/kb.workspire.io
server { listen 80 server_name kb.workspire.io; root /var/www/kb.workspire.io/wordpress; index index.php; location / { #try_files $uri $uri/ =404; try_files $uri $uri/ /index.php?q=$uri&$args; } listen 443 ssl; error_page 404 /404.html; error_page 500 502 503 504 /50x.html; location = /50x.html { root /usr/share/nginx/html; } location ~ \.php$ { try_files $uri =404; fastcgi_split_path_info ^(.+\.php)(/.+)$; fastcgi_pass unix:/var/run/php7-fpm.sock; fastcgi_index index.php; include fastcgi_params; }
這裡的位置塊:
location = /50x.html { root /usr/share/nginx/html; }
告訴 nginx 獲取一個自定義錯誤頁面
/usr/share/nginx/html/50x.html
,然後由於它不存在而引發錯誤。如果您使用自定義錯誤頁面,則需要修復路徑以便可以找到它們。預計 50x.html 頁面會在其中,
/usr/share/nginx/html
但 40x.html 頁面會在/var/www/kb.workspire.io/wordpress
.如果您不使用自定義錯誤頁面,則可以刪除
error_page
指令和location = /50x.html
塊。