0

我的wordpress 网站源码里url地址都是域名加上路径的,如何把生成的网站源码里的url地址都改成相对路径了,我在wp-config.php里加上了

define('WP_CONTENT_DIR', dirname(__FILE__) . '/wp-content');
define('WP_CONTENT_URL', '/wp-content');

,然后网站源码里部分url变成了相对路径,还有一些比如首页的部分url和列表页的首页里面的url还是域名加路径的形式,如何修改了

撰写回答

无意义的回答将很快被删除,账号将被禁止发言。 提交回答

8 个回答

超哥
超哥
行业大佬
行业大佬
时间: 2025年09月25日

试试functions.php中添加:

// 样式和脚本的 URL 改为相对路径
function make_scripts_styles_relative( $src ) {
    return wp_make_link_relative( $src );
}
add_filter( 'style_loader_src', 'make_scripts_styles_relative' );
add_filter( 'script_loader_src', 'make_scripts_styles_relative' );
// 上传目录里的文件 URL 相对化
function make_uploads_relative( $url ) {
    return wp_make_link_relative( $url );
}
add_filter( 'wp_get_attachment_url', 'make_uploads_relative' );
add_filter( 'wp_calculate_image_srcset', function( $sources ) {
    foreach ( $sources as &$source ) {
        $source['url'] = wp_make_link_relative( $source['url'] );
    }
    return $sources;
});

另外,在 Elementor 设置 → 工具 → 重新生成 CSS

    头像
    新手267
    新手小白
    新手小白
    时间: 2025年09月26日

    @超哥 超哥牛逼,大部分功能都实现了,我是访问aa.com/en 域名,   回源到wordpress源站bb.com   浏览器的url地址不变,网页内容显示的是bb.com的内容,所以需要wordpress的站点bb.com的资源路径是相对路径,我的aa.com/en  访问才能是正常的, 现在aa.com 域名的search部分( 回源wordpress的search部分),直接跳转到了wordpress站点(bb.com)上, 这里search搜索框这里还是域名的形式了,如何改成相对路径了

    头像
    新手267
    新手小白
    新手小白
    时间: 2025年09月26日

    @超哥 search的接口地址是

    en?s=关键词&e_search_props=数字

    我加了add_filter(‘search_link’  这个函数还是不行

    头像
    新手267
    新手小白
    新手小白
    时间: 2025年09月27日

    @超哥 search的问题忽略,已经解决了,在plugins/elementor-pro/modules/search/widgets/search.php这个函数里 $this->add_render_attribute( $this->element_attribute_ids[‘form’], [
    ‘class’ => ‘e-search-form’,
    ‘action’ => esc_url( home_url() ),
    ‘method’ => ‘get’,
    ] ); 手动修改了下

超哥
超哥
行业大佬
行业大佬
时间: 2025年09月25日

核心函数如 site_url(), home_url(), get_permalink() 都会在生成时带上域名。而且有可能有些地方的链接是手动添加的带域名的,你可以试试插件Relative URL https://wordpress.org/plugins/relative-url/(注意,插件是4年前的,最近没有更新),也可以在functions.php中添加一下代码进行尝试:

// 把站点 URL 转换成相对路径
function make_urls_relative( $url ) {
    return wp_make_link_relative( $url );
}

// 常见的 URL 过滤
add_filter( 'wp_get_attachment_url', 'make_urls_relative' );
add_filter( 'the_permalink', 'make_urls_relative' );
add_filter( 'post_type_link', 'make_urls_relative' );
add_filter( 'page_link', 'make_urls_relative' );
add_filter( 'term_link', 'make_urls_relative' );
add_filter( 'category_link', 'make_urls_relative' );
add_filter( 'tag_link', 'make_urls_relative' );

 

    头像
    新手267
    新手小白
    新手小白
    时间: 2025年09月25日

    @超哥 在wp-includes/function.php里加上了这一段代码,我试试

    头像
    新手267
    新手小白
    新手小白
    时间: 2025年09月25日

    @超哥 在function.php里添加上述代码后, 还是有源码是域名加路径的形式,怎么上传不了截图,比如<link rel=’stylesheet’ id=’elementor-icons-theme-icons-css’ href=’https://域名/wp-content/uploads/elementor/custom-icons/theme-icons/style.css?ver=1.0.0′ type=’text/css’ media=’all’ />   包含这个路径的 wp-content/uploads 比较多,

1 2