Question

PHP (Slim) routers don't work after hosting in subdirectory (Using Apache and Ubuntu 16)

I have a few different projects and all of them are set in /var/www/html folder. Each one has its own folder. That’s what I wrote in my virtual host to activate all of them:

<VirtualHost *:80>
    .
    .    
    DocumentRoot /var/www/html/
    .
    .
</VirtualHost>

One of my projects has routes in it - it’s written in PHP using Slim micro framework.

The project is in var/www/html/school folder.

This is my .htaccess file:

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

All of the routers are at routers.php that is required in index.php and they don’t work: could you help me?

That’s the website: http://www.itayperry.com/school/login The login page is the only one that works - I’ve tried adding the word ‘/school’ to every router in my routers.php file but this does’nt work.

I know that if I change my DocumentRoot to /var/www/html/school the project will work perfectly but then all other projects will stop working.


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.

Seems like you need to provide the correct path to routers.php in index.php.