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.

Show comments

Submit an answer

This textbox defaults to using Markdown to format your answer.

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

Sign In or Sign Up to Answer

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.

Want to learn more? Join the DigitalOcean Community!

Join our DigitalOcean community of over a million developers for free! Get help and share knowledge in Q&A, subscribe to topics of interest, and get courses and tools that will help you grow as a developer and scale your project or business.

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