+1  A: 

You will need to have mod_rewrite enabled on Apache. To check if it's on, make a page that just does this:

echo phpinfo():

Grep on the text "loaded modules". Make sure mod_rewrite is listed there. If it's not, you can either add it to apache's configuration, or you may need to install it (depending on your original installation method and whether you included that module).

If you can't get mod_rewrite running, you can still use cake without it (the URL will just look like index.php/controller/action/etc). Check out http://book.cakephp.org/view/333/A-Note-on-mod_rewrite for more info. Specifically,

If you don't want or can't get mod_rewrite (or some other compatible module) up and running on your server, you'll need to use Cake's built in pretty URLs. In /app/config/core.php, uncomment the line that looks like:

Configure::write('App.baseUrl', env('SCRIPT_NAME'));

Travis Leleu
+2  A: 

You should verify that .htaccess is being run and that the rewrite module is on and working.

webbiedave
Accepted, because this was my particular issue. See my comment on the original post for more info.
anonymous coward
Also rewritebase on .htaccess can cause troubles so it needs to be set correctly.
dabito
@dabito: Very true. Adding `Rewritebase /` solves configuration errors for many folks.
webbiedave