而不是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\' );