All of my URLs on my Magento installation require index.php in them, like:
http://example.com/index.php/admin/
http://example.com/index.php/customer/account/
You have to enable mod_rewrite in apache to make clean urls to work
if mod_rewrite is not in phpinfo you have to install it by
sudo a2enmod rewrite
sudo apache2ctl -l
You need to replace the occurrence of AllowOverride none to AllowOverride all ( in /etc/apache2/sites-enabled/000-default)
Restart Apache
sudo service apache2 restart
In Magento’s admin go to System > Configuration > Web > search engine Optimization and change “Use Web Server Rewrites” to Yes