Les routes PHP minces ne fonctionnent pas

J’ai créé une application PHP Slim et je l’ai publiée sur mon serveur Web.

Les routes ne sont disponibles que si je navigue directement via la page index.php

par exemple example.com/index.php/login et /index.php/signup

les deux rendent les vues attendues

cependant, si je omet d’index.php et navigue jusqu’à `example.com/login ‘ou’ example.com/signup ‘, je reçois un 404

Mon fichier .htaccess se trouve dans le même répertoire que index.php

 public/ ├── .htaccess ├── index.php 

le dossier public est configuré comme DocumentRoot /var/www/example.com/public dans apache

Mon fichier .htaccess contient les éléments suivants:

   Options -MultiViews  RewriteEngine On # Redirect Trailing Slashes... RewriteRule ^(.*)/$ /$1 [L,R=301] # Handle Front Controller... RewriteCond %{REQUEST_FILENAME} !-d RewriteCond %{REQUEST_FILENAME} !-f RewriteRule ^ index.php [L]  

Des suggestions pour réparer mon routage?

Slim recommande d’utiliser ces règles pour Apache. (.htaccess)

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

Vous devez définir la directive AllowOverride sur “All” dans la configuration Apache et vous assurer que “/ public” est votre répertoire virtuel racine.