1

I'm quite possibly doing something very silly here however after hours of looking I though I'd ask here as no doubt somebody will spot it!

Local dev environment Win7/XAMPP

I have a number of local websites in my htdocs folder (eg. MyTestSite, MyDevSite) that I access by visiting localhost/MyTestSite or localhost/MyDevSite - these work fine.

So today I restored a (Joomla 3.3.0) site from a live environment to my local pc (htdocs/lhsslocal) using Akeeba. I visited localhost/lhsslocal expecting to see my new website, but instead the address bar immediately changed to http://www.localhost/xampp/ which took me to my Welcome to XAMPP for Windows! page.

Now if I type www.localhost/lhsslocal I can see my homepage, but none of the other links work, they take me straight back to www.localhost/xampp/

I assumed this had someting to do with my .htaccess file (which is below) however I can't see anything that may be causing this, although I'm no htaccess expert!

My .htaccess file is located in the root folder of my Joomla site htdocs/lhsslocal/.htaccess

##
# @package      Joomla
# @copyright    Copyright (C) 2005 - 2013 Open Source Matters. All rights reserved.
# @license      GNU General Public License version 2 or later; see LICENSE.txt
##

##
# READ THIS COMPLETELY IF YOU CHOOSE TO USE THIS FILE!
#
# The line just below this section: 'Options +FollowSymLinks' may cause problems
# with some server configurations.  It is required for use of mod_rewrite, but may already
# be set by your server administrator in a way that dissallows changing it in
# your .htaccess file.  If using it causes your server to error out, comment it out (add # to
# beginning of line), reload your site in your browser and test your sef url's.  If they work,
# it has been set by your server administrator and you do not need it set here.
##

## Can be commented out if causes errors, see notes above.
Options +FollowSymLinks

## Mod_rewrite in use.

RewriteEngine On

## Begin - Rewrite rules to block out some common exploits.
# If you experience problems on your site block out the operations listed below
# This attempts to block the most common type of exploit `attempts` to Joomla!
#
# Block out any script trying to base64_encode data within the URL.
RewriteCond %{QUERY_STRING} base64_encode[^(]*\([^)]*\) [OR]
# Block out any script that includes a <script> tag in URL.
RewriteCond %{QUERY_STRING} (<|%3C)([^s]*s)+cript.*(>|%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})
# Return 403 Forbidden header and show the content of the root homepage
RewriteRule .* index.php [F]
#
## End - Rewrite rules to block out some common exploits.

## Begin - Custom redirects
#
# If you need to redirect some pages, or set a canonical non-www to
# www redirect (or vice versa), place that code here. Ensure those
# redirects use the correct RewriteRule syntax and the [R=301,L] flags.
#
## End - Custom redirects

##
# Uncomment following line if your webserver's URL
# is not directly related to physical file paths.
# Update Your Joomla! Directory (just / for root).
##

RewriteBase /

## Begin - Joomla! core SEF Section.
#
RewriteRule .* - [E=HTTP_AUTHORIZATION:%{HTTP:Authorization}]
#
# If the requested path and file is not /index.php and the request
# has not already been internally rewritten to the index.php script
RewriteCond %{REQUEST_URI} !^/index\.php
# and the request is for something within the component folder,
# or for the site root, or for an extensionless URL, or the
# requested URL ends with one of the listed extensions
RewriteCond %{REQUEST_URI} /component/|(/[^.]*|\.(php|html?|feed|pdf|vcf|raw))$ [NC]
# and the requested path and file doesn't directly match a physical file
RewriteCond %{REQUEST_FILENAME} !-f
# and the requested path and file doesn't directly match a physical folder
RewriteCond %{REQUEST_FILENAME} !-d
# internally rewrite the request to the index.php script
RewriteRule .* index.php [L]
#
## End - Joomla! core SEF Section.

All of my other websites in the htdocs folder work fine, it's only this lhsslocal site. I have changed my .htaccess file numerous times and restarted Apache each time. I don't have any other local vhosts setup, I never have.

Any suggestions would be appreciated.

  • Just a thought but try commenting out RewriteBase / Also, what happens if you completely remove the .htaccess file? – DesignSubway Jun 15 '15 at 15:53
  • Thanks @DesignSubway I should have mentioned I tried both of your suggestions, same thing - no change at all. It seems that no matter what I change in my .htaccess file it stays the same. I've updated my question with my htaccess location – jonboy Jun 15 '15 at 15:56
  • If you have deleted your htaccess file and the problems remain then it must be to do with something else. Have you cleared your Joomla cache? – DesignSubway Jun 15 '15 at 15:58
  • Yes also cleared the cache @DesignSubway thanks. I can access the admin area of the website by visiting www.localhost/lhsslocal but not localhost/lhsslocal - strange. – jonboy Jun 15 '15 at 16:04
2

The rewrite base path should have the path of the folder where the Joomla site is installed. That is because in your current scenario, Joomla does not reside in the root folder.

So, if Joomla is located in a folder "lhsslocal", then the rewritebase should be:

RewriteBase /lhsslocal

Furthermore, here are some general suggestions:

You can disable URL rewriting in Joomla configuration to make sure that there is no issue with rewriting your urls.

When working in localhost, I usually disable (by renaming or similar method) the actual htaccess of the site I downloaded. If I need to have one, I only use the rules of the htaccess.txt shipped with Joomla.

And generally remember that when such issues arise, there can be some rare cases that another SEF extension may cause it. It's worth to check and try to disable any such plugins, just to eliminate possible causes.

And another kinda "tricky" tip: Make sure, the htaccess file you are editing is in the right folder. I have been a victim of this, having created a few instances of the same site locally, and I was editing in the wrong folder, while I was viewing another of the local site instances.

  • Thanks FFrewin you were right I needed to add RewriteBase /lhsslocal - I should have spotted that! Long day yesterday, thanks again! – jonboy Jun 16 '15 at 10:11

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.