Clean URL support in XAMPP

Clean URLs do not work out of the box on XAMPP 1.5.x with PHP4 due to a problem in Apache's module load order; mod_rewrite will not work properly. To remedy this you will need to edit the file [path_to_xampp]/apache/conf/httpd.conf.

mod_rewrite location

Move the line and remove the # at the beginning:

LoadModule rewrite_module modules/mod_rewrite.so

to just above or below
#LoadModule cache_module modules/mod_cache.so

AllowOverride

If the mod_rewrite change does not work, you also need to check that AllowOverride All is set for the directory Drupal is in. Do this in httpd.conf or extra/httpd-xampp.conf

Open up file \apache\conf\extra\httpd-xampp.conf

Put this code in:

   Alias /drupal "C:/Program Files/xampp/htdocs/drupal/"
    <Directory "C:/Program Files/xampp/htdocs/drupal">
      AllowOverride All
      Order allow,deny
      Allow from all
    </Directory>

Remember to change the path accordingly.

If your not sure where to add it. Might be worth putting it under the entry

    Alias /security "C:/Program Files/xampp/security/htdocs/"
    <Directory "C:/Program Files/xampp/security/htdocs">
    ...
    ...
    </Directory>

which should already exist.

Always restart Apache after you make changes or the changes to its configuration files won't have an effect.

Drupal Directory

If Drupal is not installed in the document root, the next thing you'll have to do is to modify the file .htaccess, that comes with Drupal. Remove the commentsign (#) in front of RewriteBase and, if necessary, modify the path:

RewriteBase /drupal

Finally, in Drupal go to Administer » Site Configuration » Clean URLs (admin/settings/clean-urls) and run the clean URL test. Then click the "Enabled" option for Clean URLs and save the settings.

thanks, this was very

drupal_jay - April 30, 2008 - 13:43

thanks, this was very helpful. I've been banging my head for a while and these instructions came quite in handy

thanks. it seems to be very

joris.verschueren - May 6, 2008 - 13:06

thanks. it came in very handy, although I got myself into trouble with it. so, for hypercorrect newbies:

in the line
Alias /drupal "C:/Program Files/xampp/htdocs/drupal/"

only the last "drupal" must perhaps be adapted to whatever you've called the folder of your drupal installation. say, you wanted an address like http://localhost/site1 and you've changed the folder name from drupal-6.2 to site1, then this line must become

Alias /drupal "C:/Program Files/xampp/htdocs/site1/"

I hope that wasn't more confusing than helpful, but it took me quite a while to find out that this was the cause of a persisting No access - error 403 message on my locally built site and I thought maybe someone would encounter the same.

Joris

Thanks. Saved me a lot of time

Carlos Miranda Levy - June 22, 2008 - 14:33

Clean URLs worked fine on my local XAMPP installation for the default drupal site, but would not work when I tried to enable other sites with multisite. Just uncommenting the Loadmodule rewrite line and moving it up as indicated did the trick for it to work on all the multisites. Now I can replicate my server installation on my pc for proper testing... :p

------
Con paciencia y calma,
sube un burro a una palma

 
 

Drupal is a registered trademark of Dries Buytaert.