当 WordPress 在 nginx 中的 /blog 上运行时,wp-content 出现 404

当 WordPress 在 nginx 中的 /blog 上运行时,wp-content 出现 404

我已经在 ubuntu 20.04 上使用 nginx 设置了一个 wordpress 网站。/ 上有一个 SSR 应用程序,博客在 /blog 上运行。但 WP 网站无法从 wp-content 访问任何文件。

nginx 的示例配置文件:

location ^~ /blog {
    # index index.php;
    index  index.html index.htm index.php;
    autoindex  off;
    root /var/www/html/blog;
    try_files $uri $uri/ /index.php?$args;
    location ~* \.php$ {
        include snippets/fastcgi-php.conf;
        fastcgi_pass unix:/run/php/php7.4-fpm.sock;

    }

}
location / {

      proxy_pass http://localhost:4000/;
      proxy_http_version 1.1;
      proxy_set_header Upgrade $http_upgrade;
      proxy_set_header Connection 'upgrade';
      proxy_set_header Host $host;
      proxy_cache_bypass $http_upgrade;
}

SSR 应用程序运行正常。所有博客和内部页面在 WP 中均可正常运行,但 wp-content 中的任何内容都会出现 404 错误。

配置中是否缺少了什么?

答案1

当我进行了一些挖掘和配置更改后,我能够按照自己的意愿成功配置网站。这是配置文件:

location ^~ /blog {
    index  index.html index.htm index.php;
    autoindex  off;
    # root /var/www/html/blog;
    try_files $uri $uri/ /blog/index.php$is_args$args;
    location ~ \.php$ {
        include snippets/fastcgi-php.conf;
         fastcgi_pass unix:/run/php/php7.4-fpm.sock;
        }
    }

root /var/www/html/blog;我没有使用,而是/blog在 try_files 中添加了它,所有问题都解决了。如果我只blog在 index.php 前面添加,那么内部链接就不起作用了。所有路由都可以使用/blog/index.php$is_args$args;

相关内容