我有以下自定义重写规则。
add_action( \'init\', \'corse_rewrite_rules\', 0 );
function corse_rewrite_rules( ) {
add_rewrite_rule(\'listings/make/([^/]*)/page/?([0-9]{1,})/?$\', \'index.php?post_type=product&product_make_model=$matches[1]&paged=$matches[2]\', \'top\');
add_rewrite_rule(\'listings/make/([^/]*)/?$\', \'index.php?post_type=product&product_make_model=$matches[1]\', \'top\');
}
应采用如下URL:
/product_make_model/stuff/
收件人:
/listings/make/stuff/
目前的问题是,尽管重写工作正常,并且可以访问新的URL,但它并没有将旧的URL重定向到新的URL。
如果我还添加了一个SEO插件,比如YOAST,那么规范的URL将作为旧URL列出,以确认有什么问题。
有人能解释一下我做错了什么吗?
最合适的回答,由SO网友:Randomer11 整理而成
Ok设法解决了这个问题,而不是添加重写操作。因为我想重写的是一个分类法,我应该使用这样的方法:
\'rewrite\' => array(\'slug\' => \'listings/make\', \'product_make_model\' => false)
注册分类法时,基本上会在创建/注册分类法时重写slug。
工作正常。