重写url wordpress无法正常工作

时间:2017-12-29 06:18:01

标签: wordpress url-rewriting

我的wordpress网址如下所示,我想重写它

http://twowebse.website/course-instance/course-2-19-21-jan-2018/?crse=resulthttp://twowebse.website/course-instance/course-2-19-21-jan-2018/crse/result

我尝试过以下重写,但它似乎没有起作用。可能因为动态网址介于eg.course-2-19-21-jan-2018

当然实例=分类
课程 - 2-19-21-jan-2018 = taxonomyterm

crse我是一个静态查询变量

add_filter( 'query_vars', 'wpse12965_query_varss' );
function wpse12965_query_varss( $query_vars )
{
    $query_vars[] = 'crse';
    return $query_vars;
}


add_action( 'init', 'wpse12065_inits' );
function wpse12065_inits()
{
    add_rewrite_rule(
        'course-instance/(/([^/]+))?(/([^/]+))?/?',
        'index.php?pagename=course-instance&$matches[2]&crse=$matches[4]',
        'top'
    );
}

1 个答案:

答案 0 :(得分:0)

如果您对结构没有太多了解,我可以猜测您的重写结构将与以下内容类似,

add_rewrite_rule('^course-instance/([a-zA-Z]*)/([0-9a-zA-Z]*)/([a-zA-Z]*)/([a-zA-Z]*)',
    'index.php?pagename=course-instance&page=$matches[2]&**some-key**=crse&crse=$matches[4]',
    'top'
);

使用结构中此关键字的类型删除 some-key

否则,请从您的网址中完全删除第3个参数。通过这样做你的URL将是,

  

http://twowebse.website/course-instance/course-2-19-21-jan-2018/result

add_rewrite_rule('^course-instance/([a-zA-Z]*)/([0-9a-zA-Z]*)/([a-zA-Z]*)',
    'index.php?pagename=course-instance&page=$matches[2]&crse=$matches[3]',
    'top'
);

希望这会有所帮助:)