Hi all,
A friend of mine has inherited an old Joomla 1.0.x site, that amongst other things has a big problem with IE visitors.
The site is viewable here: http://intellepark.co.za
If you browse the site with Firefox, the GETs / responses bounce around as follows:
1. GET / 2. 302 to /site 3. GET /site 4. 301 to /site/ 5. GET /site/ 6. 200 (or 304)
Problems in IE
In IE7, the same sequence occurs, but at step 6, IE fails to load the page appropriately and displays the "Internet Explorer cannot display the webpage" error page.
If I load the same page with IE6 (Standalone version) I get intermittent and malformed responses from the server. The document fails to download properly but still displays up until the last byte it received.
Solution?
At first I thought there was something wrong with the output, so:
- I checked the HTML: There's a double slash in all asset URLs (e.g.
/site//templates/intellepark/js/mootools.js
). The doctype is XHTML1, valid, but the charset is Latin. - I disabled JavaScript in IE, but that results in the same behaviour.
So now I suspect it's a configuration issue.
The server is running the following:
Apache 2.2.9 Joomla 1.0.12 Stable PHP 5.2
What would be causing this bad behaviour in IE? Is it the double slash in the URLs? What can I recommend to my friend to have this problem fixed?
Thanks for your help - Please let me know if you require any further info!
--nd
edit
Inline paste of the .htacces file
## Can be commented out if causes errors, see notes above.
Options +FollowSymLinks
#
# mod_rewrite in use
RewriteEngine On
# Uncomment following line if your webserver's URL
# is not directly related to physical file paths.
# Update Your Joomla!/MamboDirectory (just / for root)
# RewriteBase /
########## Begin - Joomla! core SEF Section
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_URI} (/|\.htm|\.php|\.html|/[^.]*)$ [NC]
RewriteRule ^(content/|component/) index.php
#
########## End - Joomla! core SEF Section
# 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]