首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >重定向wp-sitemap.xml不工作

重定向wp-sitemap.xml不工作
EN

WordPress Development用户
提问于 2023-04-25 05:02:24
回答 1查看 24关注 0票数 0

我想将wp-sitemap.xml重定向到自定义的站点地图文件。我正在使用template_redirect,但是请求没有被重定向。我试图用die()调试它,但是它也不起作用。

代码语言:javascript
复制
function rh_redirect_wordpress_sitemap() {
    global $wp;
    
    if ( ! is_404() ) {
        return;
    }
    
    $uri = $wp->request;
    
    if ( home_url( $uri ) == home_url( 'wp-sitemap.xml' ) ) {
        die( 'This is the WordPress sitemap' );
    }
}
add_action( 'template_redirect', 'rh_redirect_wordpress_sitemap', 1 );

我还禁用了WordPress的站点地图。

代码语言:javascript
复制
add_filter( 'wp_sitemaps_enabled', '__return_false' );
EN

回答 1

WordPress Development用户

发布于 2023-06-01 16:08:51

Yoast使用$_SERVER['REQUEST_URI']全局识别它是否是对核心站点地图的请求,然后重定向。

下面是基于Yoast代码的一些未经测试的代码:

代码语言:javascript
复制
add_action( 'template_redirect', static function () {
    // If there is no path, nothing to do.
    if ( empty( $_SERVER['REQUEST_URI'] ) ) {
        return;
    }

    $path = sanitize_text_field( wp_unslash( $_SERVER['REQUEST_URI'] ) );

    // If it's not a wp-sitemap request, nothing to do.
    if ( substr( $path, 0, 11 ) !== '/wp-sitemap' ) {
            return;
    }

    wp_redirect( 'https://example.com', 301 );
    exit;
} );

来源:https://github.com/Yoast/wordpress-seo/blob/d605e8ebdbcf14e7ad81215c0f9bd9ab0ea22451/src/initializers/disable-core-sitemaps.php#L69-L88

票数 0
EN
页面原文内容由WordPress Development提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://wordpress.stackexchange.com/questions/415594

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档