You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Docker+WSL2环境下Nginx访问index文件报404错误求助

问题诊断与解决步骤

1. Nginx根目录路径不匹配(核心原因)

你的docker-compose.yaml里,Nginx服务的卷挂载配置是:

volumes:
  - ./wordpress:/var/www/wordpress

这说明本地./wordpress文件夹被挂载到了Nginx容器内的/var/www/wordpress路径,但你在site.conf里设置的根目录却是:

root /var/www/wp-test/wordpress;

容器里根本不存在/var/www/wp-test/wordpress这个目录,Nginx找不到文件,必然返回404。修正方法:把Nginx配置里的root改成容器内实际路径:

root /var/www/wordpress;

2. WordPress入口文件匹配错误

你在location /块里的try_files规则最后指向了/index.html,但WordPress的默认入口是index.php,静态的index.html无法处理WordPress的路由逻辑。修正方法:修改规则为:

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

这样Nginx会优先查找静态文件,找不到就交给index.php处理,符合WordPress的URL重写需求。

3. 可选优化:server_name匹配访问地址

你访问的是localhost:8000,但Nginx配置里的server_name php-docker.local;,虽然Nginx会把这个server块作为默认服务器处理,但为了更严谨,可以修改为:

server_name localhost php-docker.local;

或者用_匹配所有主机名:

server_name _;

验证操作

修改配置后,重启容器生效:

docker-compose down && docker-compose up -d

可以查看Nginx容器日志确认配置是否正常:

docker-compose logs web

如果日志没有报错,再访问localhost:8000应该就能正常加载WordPress页面了。

内容的提问来源于stack exchange,提问作者Mohammad Elnayef

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.12 08:26:31