无法在存档类别中选择博客月份

时间:2015-03-18 作者:MrFox

我正在使用Wordpress 4.1.1。我遇到了一个网站档案的问题。如果我将永久链接设置为默认值,我可以单击一个类别,然后单击该类别中侧栏上的日期,它会显示当月的结果。这是permalink:

?cat=16(&;m=201503

但是,如果我将永久链接更改为Post Name,则会得到以下结构:

类别/类别-1/?m=201503

但我没有到达页面。它只是超时了。我甚至连404页都没有直接转到。我收到带有此消息的页面:

页面重定向不正确Firefox检测到服务器正在以永远无法完成的方式重定向对此地址的请求。

我是否错误地设置了永久链接结构?还是其他问题?

1 个回复
SO网友:birgire

规范重定向:

GET参数m 使用永久链接时,可以触发规范重定向。

规范重定向通过以下挂钩激活:

add_action(\'template_redirect\', \'redirect_canonical\');
在哪里redirect_canonical() 是一个相当复杂的函数。

以下是此“怪物”回调中活动的部件的骨架:

// ... cut ...

if ( is_404() ) {

    // ... cut ...

} elseif ( is_object($wp_rewrite) && $wp_rewrite->using_permalinks() ) {

   if( ... ) {

      // ... cut ...

    } elseif ( !empty($_GET[\'m\']) && ( is_year() || is_month() || is_day() ) ) {

        // --> We are here <---  ;-)

    } elseif( ... ) {

    // ... cut ...

}

// ... cut ...
在哪里$_GET[\'m\'] 为非空。

在你的情况下$mYYYYMM 总体安排is_month() 也是真的,我们得到以下重定向:

$redirect_url = get_month_link( substr($m, 0, 4), substr($m, 4, 2) );
因此,我们应该从以下位置重定向:

http://example.tld/category/category-1/?m=201503
收件人:

 http://example.tld/2015/03
一种可能的解决方法将改为使用:

http://example.tld/2015/03/?cat=16
避免规范重定向过程。

您还应该在普通安装上尝试这一点:默认主题和无插件,以避免无限重定向循环问题。

结束

相关推荐

Dynamic Custom Permalinks

我有一个场景,其目的是创建可以动态更改的自定义永久链接,例如:如果显示国家信息,则URL应为http://example.com/country-information如果显示特定国家的城市信息,则URL应如下所示http://example.com/country/city-information. 我怎样才能做到这一点?