Nginx 将 Wordpress 帖子 URL 从“帖子名称”重定向到“类别帖子名称”

Nginx 将 Wordpress 帖子 URL 从“帖子名称”重定向到“类别帖子名称”

如何使用 Nginx 从 Wordpress URL“帖子名称”进行 301 重定向:

example.com/best-movies-2020/

至“类别帖子名称”:

example.com/movies/best-movies-2020/

我是 nginx 新手。我在 Google 上搜索过,但没有找到确切的解决方案。如果能得到任何帮助,我将不胜感激。

答案1

目前我不使用 Nginx 重定向,而是使用这个:

add_filter( '404_template', 'custom_redirect_to_category' );

function custom_redirect_to_category($template) {

    if ( ! is_404() ){
        return $template;
    }

    global $wp_rewrite;
    global $wp_query;

    if ( '/%category%/%postname%/' !== $wp_rewrite->permalink_structure ){
        return $template;
    }   

    if ( ! $post = get_page_by_path( $wp_query->query['category_name'], OBJECT, 'post' ) ){
        return $template;   
    }

    $permalink = get_permalink( $post->ID );

    wp_redirect( $permalink, 301 );
    exit;

}

相关内容