I have experienced wierd behaviour in SharePoint, which if I type http://server-name/sitename/, it will show "HTTP 500 Internal Error", but when I type http://server-name/sitename/default.aspx, it shows the page correctly. The action I have done to the site is to edit the permission for this site (break the inheritance). I fixed the problem by inheriting the permission back from the parent site, and then edit the permission again. If you face same problem, the symptom I have went through is:
1. You try to edit permission in Advanced Permission, but SharePoint throws some error message, so you decide to go to "_layouts/role.aspx", and break the relationship from there.
2. It seems that everything is fine, until you go to the site without typing "default.aspx" (http://server/site/subsite), it will show HTTP 500 Internal Server Error, but if you include "default.aspx" (http://server/site/subsite/default.aspx) in the URL, it is fine.
3. You cannot export/import the site using stsadm.
4. You cannot see the subsite in the SharePoint Designer parent site (however you can open the site in SharePoint Designer by directly typing the full URL), backup/restore site through SharePoint designer will fail too.
5. You cannot create new Document Library, which SharePoint prompt the list name exists, although you're sure that the document library name does not exist.
6. Solution: Go back to Advanced Permission, Inherit the permission back, and try to edit permission again. Now it shouldn't throw any error.anymore.