HTTP Error 500 Internal server error Reasons & Solutions

500 Internal Server Error is A generic error message, given when no more specific message is suitable.

Reasons & Solutions :

1- Security System (mod_security) 

mod_security is a security system that runs on the webserver to detect common hacker activity and trip them up if they try to do something rogue. It looks for patterns of commonly-used hacker scripts and words, and if the rule is triggered, it sends a 500 error, and might even lock out the visitor’s IP address temporarily.
The mod_security rule will be listed in the error logs *and* in the mod_security logs.


2- suexec

If the server is configured to use php_suexec (which is intended to provide slightly better security in how files are stored and permissions are managed with PHP scripts), then you’re not allowed to set any files or folders to “777” (aka “world-writable) permission levels. The maximum allowed in such cases is typically 755.
In this situation, if you set a folder to “777”, the server throws a 500 Internal Server Error and blocks access to any scripts or files in that folder.
The blocked folder will be listed in the logs.

So, in that case you should use 755 instead of 777 when reading instructions that suggest using “777”.


3- .htaccess syntax errors or .htaccess restrictions imposed by the main server configuration 

If your server’s been configured to restrict you from using certain directives in .htaccess files, but you use something disallowed, then a “500 Internal Server Error” will be triggered, and your site will be inaccessible until you fix the problem.
The exact rule will be recorded in the logs.


for example inside subdomian directory make sure the .htaccess inside the directory look like below

# Various rewrite rules.
<IfModule mod_rewrite.c>
RewriteEngine on
# If your site is running in a VirtualDocumentRoot at,
# uncomment the following line:
RewriteBase / <–remove the hash (#)


4- PHP errors 

Sometimes when a PHP script encounters an error, either due to a timeout or a syntax problem, or something worse like a logic problem, it *might* trigger a 500 Internal Server Error. It may not always do so, but it may.


5- Bad configure.php contents

If the URLs or paths, or anything else for that matter, in your configure.php files refers to information for a different server, or is not correct for *your* server, then many odd problems may occur, including possibly a 500 error. However, usually it will be very different symptoms. Just be sure that you DO NOT copy your configure.php files from one server to another, even localhost.


Via [ zen-cart ]