Clean URLs are almost taken for granted. Drupal 6 enables them automatically if certain requirements are met. "Dirty URLs" contain a "?" and used to prevent some "spiders" from "crawling" your site effectively.

To convert a "dirty" URL to a "clean" URL, Drupal depends on an Apache function "rewrite". "rewrite" changes a URL based on "rules" which can appear rather cryptic but which are generated by Drupal rather automatically. You can extend Drupal's rewrite activites with certain core optional and contributed modules such as "path", "pathauto", "token" and "taxonomy".

"mod_rewrite" is included in the default Apache distribution  but not enabled. Usually your system administrator takes care of details like that but if you are your own system administrator this is the one "must have" configuration change to httpd.conf. The location of "httpd.conf" varies among installations but you need to scout the territory in any case. Simply remove "#" from the beginning of the following line.

LoadModule rewrite_module modules/