Internal server errors (error 500) are often caused by plugin or theme function conflicts, so if you have access to your admin panel, try deactivating all plugins. If you don't have access to your admin panel, try manually resetting your plugins, using ftp rename plugins folder to plugins_hold and create a blank plugins folder If that resolves the issue, reactivate each one individually until you find the cause.
If that does not resolve the issue, try switching Twenty Ten theme (WordPress 3.0 and higher) to rule-out a theme-specific issue. If you don't have access to your admin panel, access your server via FTP or SFTP, navigate to /wp-content/themes/ and rename the directory of your currently active theme. This will force the Default theme Twenty Ten theme (WordPress 3.0 and higher) to activate and hopefully rule-out a theme-specific issue.
If that does not resolve the issue, it's possible that a .htaccess rule could be the source of the problem. To check for this, access your server via FTP or SFTP and rename the .htaccess file. If you can't find a .htaccess file, make sure that you have set your FTP or SFTP client to view invisible files. If you weren’t able to resolve the issue by either resetting your plugins and theme or renaming your .htaccess file, we may be able to help, but we'll need a more detailed error message.
Internal server errors are usually described in more detail in the server error log. If you have access to your server error log, generate the error again, note the date and time, then immediately check your server error log for any errors that occurred during that time period. If you don’t have access to your server error log, ask your hosting provider to look for you.