Routers don't work in my PHP / Slim project (Ubuntu, PHP, Slim, Twig, PuTTY, FileZilla, Apache)

I have been trying to host a website (php project) on Digital Ocean using Ubuntu 2.4.18 Example linkand apparently it’s pretty complicated for the inexperienced. I uploaded all files to var/www/html using FileZilla and the main router doesn’t work. Instead of domain/login router the only router that works is domain/index.php/login. I’ll show you -

Why does this happen? The index.php should’nt be there. I would love for some help :)

BTW, the project is built in a Slim Framework (with Twig) and the main file is index.php containing a routers.php requirement indise of it.


There’s no option to delete or edit my question so i’ll just say these are my project files on GitHub: and I’m using Apache 2.4.18 and Ubuntu 16.04.5

Submit an answer
You can type!ref in this text area to quickly search our full set of tutorials, documentation & marketplace offerings and insert the link!

These answers are provided by our Community. If you find them useful, show some love by clicking the heart. If you run into issues leave a comment, or add your own answer to help others.

Hi @itayperry91,

This sounds like you’ve forgotten to copy your .htaccess file.

Slim recommends using these rules for Apache. (.htaccess)

RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^ index.php [QSA,L]

If this still doesn’t work as it’s suppose to, please check your Apache Configuration. You have to set the AllowOverride directive to “All” there.

Additionally make sure that “/public” is your root virtual directory.

Regards, KDSys