我已经在 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;