这个答案是基于“login” in permalink redirects to wp-login.php wp3.6
禁用“/登录”重定向,如前所述,相关代码位于wp includes/canonical的最末端。php
你需要remove the default "wp_redirect_admin_locations" 和replace it with a slightly modified custom version. 将此添加到函数中。php文件。
function custom_wp_redirect_admin_locations() {
global $wp_rewrite;
if ( ! ( is_404() && $wp_rewrite->using_permalinks() ) )
return;
$admins = array(
home_url( \'wp-admin\', \'relative\' ),
home_url( \'dashboard\', \'relative\' ),
home_url( \'admin\', \'relative\' ),
site_url( \'dashboard\', \'relative\' ),
site_url( \'admin\', \'relative\' ),
);
if ( in_array( untrailingslashit( $_SERVER[\'REQUEST_URI\'] ), $admins ) ) {
wp_redirect( admin_url() );
exit;
}
$logins = array(
home_url( \'wp-login.php\', \'relative\' )
);
if ( in_array( untrailingslashit( $_SERVER[\'REQUEST_URI\'] ), $logins ) ) {
wp_redirect( site_url( \'wp-login.php\', \'login\' ) );
exit;
}
}
function remove_default_login_redirect() {
remove_action(\'template_redirect\', \'wp_redirect_admin_locations\', 1000);
add_action( \'template_redirect\', \'custom_wp_redirect_admin_locations\', 1000 );
}
add_action(\'init\',\'remove_default_login_redirect\');
为什么这可能没有必要呢?您还应该知道,只有在/登录时没有其他内容时,重定向才适用。例如,一旦您创建页面/登录,重定向将不再适用。(请参阅wp includes/canonical.php:553了解发生这种情况的位置。