【发布时间】:2019-07-14 15:23:16
【问题描述】:
我正在尝试在我的 VPS(debian 9、Nginx)上使用 Woocommerce (v 3.5.4) Rest Api。
在我的本地机器上一切正常(windows 10、XAMPP)。
wpbop/ 是存储 wordpress 文件的文件夹 (var/www/wpbop/)。
浏览器中的下一个基本 URL 应该发送 API 的端点(第一步不需要认证): http://my-public-ip/wpbop/wp-json/wc/v3
或者命令行中的卷曲
卷曲http://127.0.0.1/wpbop/wp-json/wc/v3
在这两种情况下,我都会收到错误 404 Not Found。
我可以毫无问题地访问博客/管理员博客 (http://my-public-ip/wpbop)
我的永久链接设置在 wordpress 管理面板中的“Postname”上,这是许多人在相同情况下推荐的。
编辑 - 解决方案:
由于我的 Wordpress 安装在子域中,
try_files $uri $uri/ /index.php$is_args$args;
找不到 index.php。只需将这一行更改为:
try_files $uri $uri/ /wpbop/index.php$is_args$args;
它有效!
也许问题来自我的 Nginx conf 文件?
server {
server_name localhost;
listen 80;
root /var/www;
location /wpbop {
index index.php;
access_log /var/log/nginx/blog.access.log;
error_log /var/log/nginx/blog.error.log;
try_files $uri $uri/ /index.php$is_args$args;
add_header 'Access-Control-Allow-Origin' '*';
add_header 'Access-Control-Allow-Methods' 'GET, POST, OPTIONS';
location ~ \.php$ {
try_files $uri =404;
fastcgi_index index.php;
fastcgi_pass 127.0.0.1:7000;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
include /etc/nginx/fastcgi_params;
}
}
}
我尝试了很多东西都没有任何结果,我被困了好几天。有人能帮我吗 ? 感谢您阅读我。
【问题讨论】:
-
您似乎找到了解决方案。最好的办法不是将解决方案添加到您的问题中,而是发布您自己问题的新答案,然后接受您自己的答案
-
允许 * 来源是一个安全问题。
标签: rest nginx woocommerce http-status-code-404