You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

为什么WordPress图片链接路径中会出现index.php导致404错误?

问题原因
  • 路径函数使用错误:你调用的get_stylesheet_directory()返回的是主题文件夹的服务器物理路径,不是前端可访问的URL地址,输出后属于相对路径。当子页面URL带index.php/xxx前缀时,浏览器会自动把相对路径拼接在当前页面URL之后,就出现了你遇到的错误路径。首页因为URL是站点根路径,拼接后路径正常,所以首页功能不受影响。
  • 固定链接配置问题:所有新建页面URL带index.php是WordPress默认的朴素固定链接格式,属于未开启Apache伪静态的正常表现。
解决步骤

1. 修正背景图路径代码

将代码中的get_stylesheet_directory()替换为get_stylesheet_directory_uri(),该函数会返回主题文件夹的前端绝对访问URL,不会受当前页面URL结构影响。
修正后的完整代码如下:

function understanding_bg(){                  ?>
         <style>
    body{ background-repeat:no-repeat;
    background-size:100% 100%;
    background-image: url(<?php echo get_theme_mod('backgrounds_setting', get_stylesheet_directory_uri() . '/backgrounds/bgg33.jpg');?>);}
     </style> <?php }
add_action( 'wp_head', 'understanding_bg'); 

如果你的自定义器设置项存储的是物理路径,需要同步修改自定义器的存储逻辑,直接保存URL格式的路径,避免已保存的设置依旧报错。

2. 去除URL中的index.php(可选优化)

如果需要去掉URL里的index.php前缀,按以下操作配置即可:

  1. 打开XAMPP的Apache配置文件httpd.conf,搜索mod_rewrite.so,删除该行开头的#注释开启重写模块,保存后重启Apache。
  2. 进入WordPress后台,点击【设置】-【固定链接】,选择除“朴素”之外的任意链接格式,保存设置。如果页面提示需要手动生成.htaccess文件,按照页面给出的规则,把代码复制到WordPress根目录的.htaccess文件中即可。

内容的提问来源于stack exchange,提问作者John Rodi

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.29 08:24:06