При wp-login.php
систему wp-admin
перенаправляется на wp-login.php
через 302.
Есть 2 поведения:
1) Правильное имя пользователя / пароль. 302 перенаправить на / wp-admin / после 302 перенаправить на /wp-login.php
2) Введенное имя пользователя / пароля неверно, без перенаправления. 200 с «ОШИБКА: неправильное имя пользователя или пароль». отображается.
Конфигурация WordPress (я заменил реальный домен на «testdomain.com»):
$_SERVER['HTTPS']='on'; define( 'FORCE_SSL_LOGIN', false ); define( 'FORCE_SSL_ADMIN', false ); if ( !defined('ABSPATH') ) define('ABSPATH', dirname(__FILE__) . '/'); //$currenthost = "https://".$_SERVER['HTTP_HOST']; $currenthost = "https://exampledomain.com"; $currentpath = preg_replace('@/+$@','',dirname($_SERVER['SCRIPT_NAME'])); $currentpath = preg_replace('/\/wp.+/','',$currentpath); define('WP_HOME',$currenthost.$currentpath); define('WP_SITEURL',$currenthost.$currentpath); define('WP_CONTENT_URL', $currenthost.$currentpath.'/wp-content'); define('WP_PLUGIN_URL', $currenthost.$currentpath.'/wp-content/plugins'); define('DOMAIN_CURRENT_SITE', $currenthost.$currentpath ); define('ADMIN_COOKIE_PATH', './'); define('WP_BASE', $currenthost.$currentpath); define('FS_METHOD', 'direct'); define('FS_CHMOD_DIR', (0705 & ~ umask())); define('FS_CHMOD_FILE', (0604 & ~ umask()));
Есть идеи?
Если вы уверены, что ваши учетные данные верны, вы можете использовать крюк «wp_authenticate» следующим образом:
add_action('wp_authenticate', 'mysite_check_already_logged_in'); function mysite_check_already_logged_in() { if (is_user_logged_in()) { wp_redirect(site_url('wp-admin')); } }