当GET变量在站点的另一个页面上工作时,为什么站点的一个页面上的GET变量会导致404错误?

时间:2011-08-20 作者:wooWoowoo

例如,我在一个网站上有20个页面。其中一种叫做培根,另一种叫做鸡蛋。在同一网站上。。。比如说早餐。com公司

我已经正确设置了permalinks,并在所有页面上成功地使用了它们,包括通过以下方式使用鸡蛋:www.breakfast。玉米/鸡蛋?煮熟=炒熟。这是完全正确的。

然而,在早餐的另一页上。com称为香肠。。。这不起作用。www.早餐。玉米/香肠?类型=辛辣

这将导致404错误。我不明白为什么会这样,因为格式是一样的。我已验证该页面是否存在于WP admin的“我的页面”目录中。

如果我去掉GET变量,页面就会工作。谷歌没有帮助我。有没有人有类似的经历?

2 个回复
最合适的回答,由SO网友:EAMann 整理而成

WordPress有一个保留术语列表,您不能将其用于分类。从你的问题中,我推断“煮熟”是一种适用于鸡蛋的分类法,“类型”是一种适用于香肠的分类法。不幸的是,“type”在WordPress中是一个保留术语,因此它对查询字符串的解释与您预期的不同。

保留条款的完整列表可用in the Codex. 只需使用不同的术语。。。也许是“香肠型”。。。对于你的分类法,你应该清楚。

SO网友:Chris Bartholomew

在我向Wordpress注册参数之前,我发现查询参数的行为不一致,如下所示:

function add_query_vars_filter( $vars ) {
        $vars[] = "cooked";
        return $vars;
    }
    add_filter( \'query_vars\', \'add_query_vars_filter\' );
查看更多信息:get_query_var in Codex

结束