异常的 NGINX Wordpress 配置问题(无头 Wordpress + 单域静态站点前端)

问题描述 投票:0回答:1

我有一个非常特殊的用例,我使用 Wordpress 作为 CMS 后端(主要是在无头配置中),但我希望应用通常的 NGNIX/Wordpress 配置的某些 URL 除外。具体来说:

大多数对 NGINX 根目录的 url 请求应该从子目录提供静态 HTML 文件。我在虚拟主机文件的

server
块内的这个位置块中标识了这个:

location / {
    root /var/www/html/node/website.com/_build;
    index index.html;

    try_files $uri $uri.html $uri/ /404/index.html;
}

但是所有 Wordpress 特定文件(即

/wp-*
URL 后面的文件)仍应由 Wordpress 提供服务。最终,一些特定的 URL(即
/shop
/my-account
)也应该由 Wordpress 提供,而不是静态 html 文件,但我可以稍后再处理。我目前将 WP 特定位置标识为:

location ~* /wp- {
    index index.php;
    try_files $uri $uri/ /index.php?$query_string;

    location ~ \.php$ {
        root /var/www/html/php/website.com;
        include snippets/fastcgi-php.conf;
        fastcgi_pass unix:/var/run/php/php8.2-fpm.sock;
    }
}

这部分有效。

website.com/wp-json
工作正常。大多数 URL 端点都是从
_build
子目录提供的,假设存在相关的 HTML 文件。 但是,
website.com/wp-admin
website.com/wp-login.php
会自动下载相关的 PHP 文件而不是处理它们。

这告诉我将

index.php
文件传递到
php-fpm
时存在问题,但我不知道中断在哪里。 FWIW,我也在
location ~ \.php$ 
块中复制
server
块,位于
wp-
块之外。

有什么建议吗?

此外,如果有人对由 Wordpress 与

/shop
HTML 文件提供的特定“前端”URL(即
/my-account
_public
)的正确配置有建议,那将非常有帮助和很棒.

php wordpress nginx headless static-site
1个回答
0
投票

原来这是 Chrome 中的缓存问题。隐身窗口加载显示我的位置块已正确写入并且正常工作。将此问题留在这里,以防有人对我正在尝试做的事情有更好的建议,或者可以将此作为参考。

© www.soinside.com 2019 - 2024. All rights reserved.