Check Your URL Options
In some situations, your blog can be seen from inside your domain, but not outside. Following the instruction above about changing the wp-options MySQL table might still result in login failure.In this event, double-check your wp-options table siteurl (WordPress address URL) and home (Blog Address URL) values to make sure they reference the same base externally available address; i.e., http://blog.yourdomain.com. The standard install may set them to your local (internal) host name, such as http://servername
Another issue may be if you are redirecting using .htaccess from a non-www url prefix to a www while you have the wp-options table siteurl (WordPress address URL) and home (Blog Address URL) set with non-www prefix. Consequently this would create an endless loop which you need to avoid. One way is to disable the .htaccess redirection temporarily by placing # before the line or eliminating the entries entirely and trying to Login again. Advanced users may want to adjust adjust the wp-options table siteurl (WordPress address URL) and home (Blog Address URL) through the database. Notice that this issue can also occur if you are redirecting from www to non-www but have your wp-options table siteurl (WordPress address URL) and home (Blog Address URL) set with a www url prefix.