問(wèn)題概述
當(dāng)您在Nginx服務(wù)器上運(yùn)行WordPress時(shí),可能會(huì)遇到”404 Not Found”錯(cuò)誤。這種錯(cuò)誤通常發(fā)生在訪問(wèn)網(wǎng)站頁(yè)面或執(zhí)行某些操作時(shí),表明服務(wù)器無(wú)法找到請(qǐng)求的資源。本文將介紹幾種常見(jiàn)原因及相應(yīng)的解決方案。
常見(jiàn)原因及解決方法
1. 固定鏈接設(shè)置問(wèn)題
WordPress的固定鏈接功能依賴于服務(wù)器配置。在Nginx環(huán)境下,如果配置不當(dāng),會(huì)導(dǎo)致404錯(cuò)誤。
解決方案:
- 登錄WordPress后臺(tái)
- 進(jìn)入”設(shè)置” > “固定鏈接”
- 選擇”樸素”以外的任何選項(xiàng)
- 保存設(shè)置后,需要配置Nginx的rewrite規(guī)則
2. Nginx配置缺失
Nginx默認(rèn)不會(huì)自動(dòng)處理WordPress的URL重寫,需要手動(dòng)添加配置。
解決方案:
在Nginx配置文件中添加以下代碼(通常在/etc/nginx/sites-available/your-site
):
location / {
try_files $uri $uri/ /index.php?$args;
}
然后重新加載Nginx配置:
sudo nginx -t && sudo systemctl reload nginx
3. 文件權(quán)限問(wèn)題
不正確的文件權(quán)限可能導(dǎo)致Nginx無(wú)法訪問(wèn)WordPress文件。
解決方案: 設(shè)置正確的文件權(quán)限:
sudo chown -R www-data:www-data /var/www/your-wordpress-site
sudo find /var/www/your-wordpress-site -type d -exec chmod 755 {} \;
sudo find /var/www/your-wordpress-site -type f -exec chmod 644 {} \;
4. PHP-FPM配置問(wèn)題
如果PHP處理器未正確配置,可能導(dǎo)致動(dòng)態(tài)內(nèi)容無(wú)法執(zhí)行。
解決方案: 檢查Nginx配置中PHP處理部分是否正確:
location ~ \.php$ {
include snippets/fastcgi-php.conf;
fastcgi_pass unix:/var/run/php/php7.4-fpm.sock;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
include fastcgi_params;
}
確保路徑與您安裝的PHP版本匹配。
其他排查方法
- 檢查錯(cuò)誤日志:
sudo tail -f /var/log/nginx/error.log
禁用插件:有時(shí)插件沖突會(huì)導(dǎo)致404錯(cuò)誤,嘗試禁用所有插件后逐一啟用測(cè)試。
檢查.htaccess文件:雖然Nginx不使用.htaccess,但確保沒(méi)有殘留文件干擾:
rm /var/www/your-wordpress-site/.htaccess
總結(jié)
WordPress在Nginx環(huán)境下出現(xiàn)404錯(cuò)誤通常與服務(wù)器配置有關(guān),特別是URL重寫規(guī)則。通過(guò)正確配置Nginx、設(shè)置適當(dāng)?shù)奈募?quán)限和檢查PHP處理器,大多數(shù)問(wèn)題都可以解決。如果問(wèn)題仍然存在,建議查閱Nginx和WordPress的官方文檔或?qū)で髮I(yè)技術(shù)支持。