帖子已经不存在了,这没什么问题,我们将在查询数据库之前连接到WP。首先,我们设置重写规则,它将设置一个特殊的查询变量(我们必须将其声明为public),然后,在parse_request
操作时,我们检查该变量,如果已设置,则重定向该变量。
add_action( \'init\', \'wpse8236_init\' );
function wpse8236_init()
{
// This is case-sensitive, we can\'t set regex flags
// Replace `blog` with `[Bb][Ll][Oo][Gg]` to make it case-insensitive
add_rewrite_rule( \'blog/2008/\', \'index.php?wpse8236_redirect=true\', \'top\' );
add_rewrite_rule( \'blog/2009/0[1-6]/\', \'index.php?wpse8236_redirect=true\', \'top\' );
}
add_action( \'query_vars\', \'wpse8236_query_vars\' );
function wpse8236_query_vars( $query_vars )
{
$query_vars[] = \'wpse8236_redirect\';
return $query_vars;
}
add_action( \'parse_request\', \'wpse8236_parse_request\' );
function wpse8236_parse_request( &$wp )
{
if ( array_key_exists( \'wpse8236_redirect\', $wp->query_vars ) ) {
wp_redirect( \'/blog/\' );
exit();
}