Маршруты работают из-за магии в файле .htaccess. Сначала убедитесь, что этот файл находится в вашем общедоступном каталоге (в том же каталоге, что и index.php), и проверьте, что он может быть просмотрен Apache (проверьте наличие ошибок в журнале ошибок Apache).
Возможно, обработка .htaccess не разрешена. В конфигурации Apache для вашего виртуального хоста найдите что-то вроде этого:
<Directory /path/to/public>
Options FollowSymLinks
AllowOverride All
Order allow,deny
allow from all
</Directory>
Это строка AllowOverride All
, которая разрешает обработку .htaccess. (Это позволяет и другие вещи; прочитайте руководство по Apache, если хотите полностью понять его.)