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

Nginx配置疑问:WordPress虚拟主机两个location块如何选择与合并?

关于WordPress的Nginx Location配置疑问解答

首先明确说:你绝对不能同时保留这两段location /的配置,Nginx不允许同一个server块下出现重复的相同匹配规则的location,直接启动服务会报错。

接下来解释两段配置的核心区别:

  • 第一段location / { try_files $uri $uri/ =404; }:这是Nginx处理纯静态站点的常规配置——先尝试访问请求的文件($uri),如果不存在就尝试访问对应的目录($uri/),如果两者都不存在,直接返回404错误。
  • 第二段location / { try_files $uri $uri/ /index.php?$args; }:这是WordPress这类PHP动态CMS必须的配置。因为WordPress使用**固定链接(Permalink)**时,所有自定义路径(比如/about、/category/posts)都不存在对应的物理文件/目录,这时候需要把请求转发到index.php,由WordPress的路由系统来解析并返回正确的页面内容。

所以结论很清晰:

  1. 完全不需要保留第一段配置,它会破坏WordPress的固定链接功能,导致所有非静态资源的页面返回404。
  2. 直接使用第二段配置即可,它已经覆盖了第一段的静态资源处理逻辑(优先返回存在的文件/目录),同时补充了WordPress必需的动态路由转发。

为了让配置更完整,你还需要确保server块中包含正确处理PHP请求的配置,比如:

location ~ \.php$ {
    fastcgi_pass unix:/run/php/php8.2-fpm.sock; # 请根据你的PHP版本和FPM配置调整路径
    fastcgi_index index.php;
    fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
    include fastcgi_params;
}

这样整个Nginx配置就能完美适配WordPress的运行需求了。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.29 07:55:56