I had several web sites where when I tried to login with wp-admin it used to redirect to wp-login.php which gave a 404 not found error I did all I could some of the things which I did were
Completely reinstalled the wordpress with fresh files
Upgraded my sqil database
changed the site urls in the database
Completly rewrote the wordpress .htaccess text
Nothing worked finally a video posted on you tube gave a solution which was much easier and worked perfectly
All I had to do is add the following code in .htaccess file at the end and it worked perfectly
Deny from all
Allow from all
This was it this worked and I was able to fix this untiring error that had kept me from posting to my web sites.
You can change the .htaccess file via ftp or via cpanel file manages.