而不是index.php/reco/?b=$1, 尝试以下操作:
"$wp_rewrite->index?pagename=reco&b=" . $wp_rewrite->preg_index( 1 )
还应附加
$ 到您的
reco/([^/]*)/? regex以确保规则只匹配整个路径,而不仅仅是开始。
然后刷新规则(只需在admin中重新保存永久链接设置)。
Update: 尝试使用page_rewrite_rules 改为过滤,并使用get_query_var( \'b\' ):
function wpse_139259_page_rules( $rules ) {
return array(
\'reco/([^/]+)/?$\' => \'index.php?pagename=reco&b=$matches[1]\',
) + $rules;
}
add_filter( \'page_rewrite_rules\', \'wpse_139259_page_rules\' );