规范重定向:
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\']
为非空。
在你的情况下$m
有YYYYMM
总体安排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
避免规范重定向过程。
您还应该在普通安装上尝试这一点:默认主题和无插件,以避免无限重定向循环问题。