首先,始终以debugging enabled 这样您就可以看到错误。这将揭示第一个问题:Undefined variable: matches
. 你的规则应该用单引号引起来,这样它就可以作为字符串和$matches
变量未展开。
第二个问题是没有category
query var,如果您试图设置默认WordPress类别,则应为category_name
.
这是在2012年主题中测试和使用的:
add_action( \'init\', \'add_author_rules\' );
function add_author_rules() {
add_rewrite_rule(
\'support/([^/]+)/?\', \'index.php?category_name=$matches[1]\', \'top\'
);
}
请注意,您不会看到对的任何更改。htaccess,因为这是内部重写。
如果category
是您自己的自定义查询变量,您需要向WordPress注册查询变量,以便它知道它们,尽管我不建议只使用category
.
add_filter( \'query_vars\', \'wpa_query_vars\' );
function wpa_query_vars($query_vars){
$query_vars[] = \'wpa_category\';
return $query_vars;
}