I migrated a working Wordpress site to a sandbox server. Prior to importing the database I did a search and replace for the domain name.
example.com/wp-admin loads wp-login.php
Submitting form results in immediate reload of form. No errors seen. When my user and pass were not accepted I attempted password reset but the email was not received and the form just rapidly reloads on submission.
I tested that changing blog name in options table resulted in new name displayed on login form. So definitely loading site settings from this database.
No other tables exist in database.
I edited user database row to set new email. No mail received.
I added the following with verified user id to my functions.php
$user_id = 4; $password = 'newpasswd'; $output = wp_set_password( $password, $user_id );
Still could not log in and observed that hashed password in database was in fact changed. Having seen the change the
wp_set_password() call was removed from functions.php
Enabled WP_DEBUG in wp-config. Saw some plugin Notice level flags but no errors.
I changed plugins directory name and added a new empty plugins directory. No change.
Same with themes.
No more WP_DEBUG Notices seen so disabled again.
Emptied the .htaccess which had default WP rules plus Wordfence rules and re-uploaded.
Commented out the Wordfence .user.ini file which sets auto_prepend_file. No change.
Tried multiple browsers. No change.
Console does not show errors.
This screenshot shows network panel headers when submitting form.
Here is main network panel showing a 301 before a 200. Thinking this may be relevant...
What should I try next?