We launched new forums in March 2019—join us there. In a hurry for help with your website? Get Help Now!
    • 14730
    • 34 Posts
    I am getting an awful lot of Internal Server Errors. Apparently at random, and a refresh (or two) will always solve them.
    This happens both in the manager and at my site.
    Sometimes my css or an @import instruction isn’t loaded at my site. In the manager my tree isn’t loaded, or won’t expand (triangle disappears).
    It appears sometimes nothing is retrieved at all, the next moment only parts...
    It still works fine most of the time, but at least 1 out of 30 page loads gives a server error, 1 out of 10 is a corrupt load.

    I can only think of two causes:
    1) GoDaddy (the host) has problems with database communications. It is known to throw 500 errors at people who use their database a lot.
    2) The .htaccess file is corrupt. This is the cause according to the GoDaddy documentation.

    Before I switch servers, I would greatly appreciate it if someone could take a look at my .htaccess file and my FURL settings.

    Web Server:
    PHP 5.x (don’t know how it’s running)
    Apache
    Linux

    Database:
    MySQL 5.0

    MODx:
    Version: Revolution 2.0.0-pl rev7212
    Plugins: formit; getpage; getresources; ie6nomore; if; taglister
    FURL settings modified: automatic_alias:yes; use_alias_path:yes;friendly_urls:yes

    Browser/Client:
    FF 3.6 on WinXP
    Safari 4.1 on MacOS 10.4.11

    My .htaccess file (changed real domain into "mysite"):
    # MODx supports Friendly URLs via this .htaccess file. You must serve web
    # pages via Apache with mod_rewrite to use this functionality, and you must
    # change the file name from ht.access to .htaccess.
    #
    # Make sure RewriteBase points to the directory where you installed MODx.
    # E.g., "/modx" if your installation is in a "modx" subdirectory.
    #
    # You may choose to make your URLs non-case-sensitive by adding a NC directive
    # to your rule: RewriteRule ^(.*)$ index.php?q=$1 [L,QSA,NC]
    
    RewriteEngine On
    RewriteBase /
    
    # Rewrite www.domain.com -> domain.com -- used with SEO Strict URLs plugin
    RewriteCond %{HTTP_HOST} .
    RewriteCond %{HTTP_HOST} !^mysite\.ca [NC]
    RewriteRule (.*) http://mysite.ca/$1 [R=301,L]
    #
    # or for the opposite domain.com -> www.domain.com use the following
    # DO NOT USE BOTH
    #
    # RewriteCond %{HTTP_HOST} .
    # RewriteCond %{HTTP_HOST} !^www\.example-domain-please-change\.com [NC]
    # RewriteRule (.*) http://example-domain-please-change.com/$1 [R=301,L]
    
    # Rewrite secure requests properly to prevent SSL cert warnings, e.g. prevent 
    # https://www.domain.com when your cert only allows https://secure.domain.com
    #RewriteCond %{SERVER_PORT} !^443
    #RewriteRule (.*) https://example-domain-please-change.com.com/$1 [R=301,L]
    
    # The Friendly URLs part
    RewriteCond %{REQUEST_FILENAME} !-f
    RewriteCond %{REQUEST_FILENAME} !-d
    RewriteRule ^(.*)$ index.php?q=$1 [L,QSA,NC]
    
    # Make sure .htc files are served with the proper MIME type, which is critical 
    # for XP SP2. Un-comment if your host allows htaccess MIME type overrides.
    
    #AddType text/x-component .htc
    
    # If your server is not already configured as such, the following directive
    # should be uncommented in order to set PHP's register_globals option to OFF.
    # This closes a major security hole that is abused by most XSS (cross-site
    # scripting) attacks. For more information: http://php.net/register_globals
    #
    # To verify that this option has been set to OFF, open the Manager and choose
    # Reports -> System Info and then click the phpinfo() link. Do a Find on Page
    # for "register_globals". The Local Value should be OFF. If the Master Value
    # is OFF then you do not need this directive here.
    #
    # IF REGISTER_GLOBALS DIRECTIVE CAUSES 500 INTERNAL SERVER ERRORS :
    #
    # Your server does not allow PHP directives to be set via .htaccess. In that
    # case you must make this change in your php.ini file instead. If you are
    # using a commercial web host, contact the administrators for assistance in
    # doing this. Not all servers allow local php.ini files, and they should
    # include all PHP configurations (not just this one), or you will effectively
    # reset everything to PHP defaults. Consult www.php.net for more detailed
    # information about setting PHP directives.
    
    #php_flag register_globals Off
    
    # For servers that support output compression, you should pick up a bit of
    # speed by un-commenting the following lines.
    
    #php_flag zlib.output_compression On
    #php_value zlib.output_compression_level 5
    
    # The following directives stop screen flicker in IE on CSS rollovers. If
    # needed, un-comment the following rules. When they're in place, you may have
    # to do a force-refresh in order to see changes in your designs.
    
    #ExpiresActive On
    #ExpiresByType image/gif A2592000
    #ExpiresByType image/jpeg A2592000
    #ExpiresByType image/png A2592000
    #BrowserMatch "MSIE" brokenvary=1
    #BrowserMatch "Mozilla/4.[0-9]{2}" brokenvary=1
    #BrowserMatch "Opera" !brokenvary
    #SetEnvIf brokenvary 1 force-no-vary
    


    Thanks for the help!

    Jorik
      • 3749
      • 24,544 Posts
      If it were your .htaccess file, you ought to get the 500 error every time.

      All the lines that start with # are comments and are completely ignored by the server, so your .htaccess file is quite minimal.

      The handful of active lines in it are essentially the same ones we all have in ours.
        Did I help you? Buy me a beer
        Get my Book: MODX:The Official Guide
        MODX info for everyone: http://bobsguides.com/modx.html
        My MODX Extras
        Bob's Guides is now hosted at A2 MODX Hosting