Hi,
Working on my localhost, had to do the following:
1. My localhost runs Windows Vista which is pretty restrictive with file permissions. Grant all users to write permission to the file:
.htaccess
which is located in your WordPress installation directory.
2. modify httpd.conf to allow the directives in the .htaccess file to override global default server directives.
AllowOverride All
# the default was 'None'
2.a – you’ll also need to turn on mod_rewrite:
LoadModule rewrite_module modules/mod_rewrite.so
3. After you change the permalink settings, view the .htaccess file. It should contain something like the following:
# BEGIN WordPress
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /wp25/
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /wp25/index.php [L]
</IfModule>
# END WordPress
4. Restart your apache server
Note: if you are working on a shared host and this doesn’t work, contact your administrator and ask if mod_rewrite is loaded and if allow_overrides is ‘All’.