So you've tried every advice above but still get the 403, "You don't have permission to access", error when testing for clean urls. This is how I solved it after many tedious hours of googling....
Apparently there's an option called Multiview in apache which enables the server to look for files without an extension in the parent directory of the directory you specified, if it can't find the directory. So if you type www.mysite.com/admin/settings and it can't find the directory it looks for a file named settings.(some extension) in www.mysite.com/admin, however if you also have directory browsing turned of and it can't find a file it will report it as you trying to find a file in www.mysite.com/admin which you don't have a permission to view or doesn't exist i.e. the 403 error. To solve this you either turn off directory browsing in your .htaccess file by writing:
However if you don't feel like having directory browsing on, I guess most people do, you just turn of Multiviews like this under the other options in your .htaccess file:
If that doesn't help, don't forget to check if there are any physical folders with the same name as your path aliases that you can't access.
Some users have also reported it helpful to specify your $base_url in settings.php. You'll find settings.php in 'sites/default'.