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 /home/nick/public_html/bradp.com/html/>
                Options Indexes FollowSymLinks MultiViews
                AllowOverride All
                Order allow,deny
                allow from all

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

        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 ::1/128


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

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


Before asking you should have taken a look into the log files.

Written by Gumbo

Didn't even think to check that. Thanks.

Written by Castgame

Accepted Answer

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.

Written by David Schmitt
This page was build to provide you fast access to the question and the direct accepted answer.
The content is written by members of the stackoverflow.com community.
It is licensed under cc-wiki