Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

.HTACCESS File causing Internal Server Error

I have copied the files and database from BradPPresents.com to BradP.com.

The .htaccess file is required to get pages to display properly since "Pretty URLs" are enabled by joomla!.

You can see that the database and all connections are working at http://bradp.com/index.php, however http://bradp.com/home.html does not work as it relies on the .htaccess file to parse the URL.

I copied the identical htaccess file from bradppresents.com (currently working fine) to bradp.com and I get "Internal server error" when the file is present. As soon as it is deleted the error goes away, but of course the site does not work as needed.

I'm hoping someone can shine a little light on this for me.

Here's the .htaccess file

RewriteEngine On
RewriteBase /

RewriteCond %{REQUEST_URI} (/|\.htm|\.php|\.html|\.aspx|\.asp|/[^.]*)$  [NC]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule (.*) index.php

## This attempts to block the most common type of exploit `attempts` to Joomla!
#
# Block out any script trying to set a mosConfig value through the URL
RewriteCond %{QUERY_STRING} mosConfig_[a-zA-Z_]{1,21}(=|\%3D) [OR]
# Block out any script trying to base64_encode crap to send via URL
RewriteCond %{QUERY_STRING} base64_encode.*\(.*\) [OR]
# Block out any script that includes a <script> tag in URL
RewriteCond %{QUERY_STRING} (\<|%3C).*script.*(\>|%3E) [NC,OR]
# Block out any script trying to set a PHP GLOBALS variable via URL
RewriteCond %{QUERY_STRING} GLOBALS(=|\[|\%[0-9A-Z]{0,2}) [OR]
# Block out any script trying to modify a _REQUEST variable via URL
RewriteCond %{QUERY_STRING} _REQUEST(=|\[|\%[0-9A-Z]{0,2})
# Send all blocked request to homepage with 403 Forbidden error!
RewriteRule ^(.*)$ index.php [F,L]

#max files size restrictions
php_value upload_max_filesize 20M
php_value post_max_size 20M

Here's the site configuration file from Apache.

<VirtualHost *:80>
        ServerAdmin webmaster@localhost

        DocumentRoot /home/nick/public_html/bradp.com/html/
        <Directory />
                Options FollowSymLinks
                AllowOverride All
        </Directory>
        <Directory /home/nick/public_html/bradp.com/html/>
                Options Indexes FollowSymLinks MultiViews
                AllowOverride All
                Order allow,deny
                allow from all
        </Directory>

        ScriptAlias /cgi-bin/ /usr/lib/cgi-bin/
        <Directory "/usr/lib/cgi-bin">
                AllowOverride None
                Options +ExecCGI -MultiViews +SymLinksIfOwnerMatch
                Order allow,deny
                Allow from all
        </Directory>

        ErrorLog /var/log/apache2/error.log

        # Possible values include: debug, info, notice, warn, error, crit,
        # alert, emerg.
        LogLevel warn

        CustomLog /var/log/apache2/access.log combined
        ServerSignature On

    Alias /doc/ "/usr/share/doc/"
    <Directory "/usr/share/doc/">
        Options Indexes MultiViews FollowSymLinks
        AllowOverride None
        Order deny,allow
        Deny from all
        Allow from 127.0.0.0/255.0.0.0 ::1/128
    </Directory>

</VirtualHost>

It's essentially the default file with a few changes.

I really appreciate any help I can get; Thanks a million, Nick

like image 306
Nick Woodhams Avatar asked Feb 13 '09 10:02

Nick Woodhams


1 Answers

Look into your error log to see the exact error message.

But since you say "copied" in the first sentence, I assume you are moving from one host to another. The most likely cause then is that the rewrite module is not loaded on the new server.

like image 197
David Schmitt Avatar answered Oct 16 '22 08:10

David Schmitt