Yesterday I have had a hard time solving a rewrite problem that a friend of mine had. The problem was actually much easier to solve than I though. I was even checked that .htaccess is correct spelled, if all stuff inside .htaccess file was correct spelled, tried to look at the virtual host file on apache but could not find anything strange. However the problem was actually in the apaches virtal host file at the directory section. I forgot that Allowoverride was not properly configured. It has option None and should have had FileInfo or All.
The virual host configuration file’s directory section should have this content:
# Options can be “None”, “All”, or any combination of “Indexes”,
# “Includes”, “FollowSymLinks”, “ExecCGI”, or “MultiViews”.
# Note that “MultiViews” must be named *explicitly* — “Options All”
# doesn’t give it to you.
Options Indexes FollowSymLinks MultiViews
# This controls which options the .htaccess files in directories can
# override. Can also be “All”, or any combination of “Options”, “FileInfo”,
# “AuthConfig”, and “Limit”
# Controls who can get stuff from this server.
Allow from all