Last updated 23 February 2013. Created on 19 March 2006.
Edited by LeeHunter, bekasu, Sunshiney, dman. Log in to edit this page.

For a fuller step-by-step, you should see Instructions for setting up Clean Urls in the handbook, which includes distro-specific tips.

To avoid duplication, this troubleshooting page is reduced to a checklist.

Clean URLs must be enabled within the admin area. If the Clean URL setting is grayed out, you need:

  • mod_rewrite enabled in the Apache conf file
  • AllowOverride enabled in the Apache conf or vhosts file (so that .htaccess rules can apply)
  • The .htaccess filename specified in the Apache conf file
  • An .htaccess file in the root of the Drupal directory (may be hidden on some filesystems, but should be there)
  • Rewrite instructions in .htaccess (distributed with Drupal, but sometimes needing tweaking)

Depending on your distribution, some or most of these directives should already be there, probably scattered throughout the file, or even subsidary 'vhost' conf files. You may have to consult the Apache docs or find help specific to your distribution, as these files may vary a lot.

To test your settings, run

apache2ctl -t

or similar for a syntax check. (XAMMP?)

To Lastly reload your http server

apache2ctl restart

(or similar. XAMMP has a shortcut for you)


It's apache2ctl on some Apache installations, on others you should use apachectl -t. Also, restarting the server requires administrator privileges, like so:
sudo apachectl restart

Looking for support? Visit the forums, or join #drupal-support in IRC.