Gatsby-source-wordpress无头模式下文章图片显示404错误求助
问题分析与解决方案:WordPress图片URL被意外重定向导致404
可能的重定向来源及对应解决方法:
Headless Mode插件的强制重定向规则
该无头插件默认可能会将所有blog.website.com的请求(包括静态资源)重定向到前端站点地址website.com/blog/。进入插件后台设置,查找「重定向控制」或「URL替换」相关选项,添加例外规则,允许/wp-content/uploads/路径的请求直接访问,不触发重定向。WordPress站点地址配置错误
登录WP后台「设置」→「常规」,检查「站点地址(URL)」:- 如果该地址被设置为
https://website.com/blog/,WP会自动生成全局重定向规则,将blog.website.com的所有请求(含图片)转向该地址。 - 解决:将「站点地址(URL)」改回
https://blog.website.com,或在「媒体」设置中强制指定媒体文件的完整URL为https://blog.website.com/wp-content/uploads/,避免URL自动替换。
- 如果该地址被设置为
服务器级别的重定向规则
检查Nginx/Apache的配置文件,看是否存在将blog.website.com所有请求重定向到website.com/blog/的规则,且未排除静态资源路径:- Nginx示例:在重定向规则前添加例外,允许图片路径直接访问:
location ^~ /wp-content/uploads/ { try_files $uri $uri/ =404; } - Apache示例:在.htaccess的重定向规则前添加:
RewriteRule ^wp-content/uploads/ - [L]
- Nginx示例:在重定向规则前添加例外,允许图片路径直接访问:
Gatsby插件的URL自动替换逻辑
检查gatsby-source-wordpress的配置,部分版本会默认替换内容中的WP域名到前端域名。查看配置项中是否有urlRewrite或类似参数,禁用全局URL替换,或配置仅替换页面路径,排除媒体资源URL。
内容的提问来源于stack exchange,提问作者Sandra
相关产品推荐
相关产品推荐

