У меня возникли проблемы с получением Slim, чтобы признать следующее:
$app = new \Slim\Slim(); $app->get('/', function () { echo "Hello"; }); $app->get('/:name', function () { echo "Hello"; }); $app->run();
Он увидит, что первый маршрут просто прекрасен, как только второй возвращает
Not Found The requested URL /image-uploader/gg was not found on this server.
Что заставило меня поверить, что у меня не было мод для перезаписывания в wamp. Поэтому я включил его и установил AllowOverride
для All
Затем я перезапустил wamp и посетил localhost/image-uploader/
и я получаю Hello
, как только посещение второго маршрута дает ошибку выше.
Зачем? Мой htaccess таков:
<IfModule mod_rewrite.c> RewriteEngine On RewriteBase / RewriteRule ^index\.php$ - [L] RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d RewriteRule index.php [L] </IfModule>
Поскольку ваш проект находится не в корневой папке, а в папке с image-uploader
, ваш путь неправильный.
Вы можете изменить RewriteBase
следующим образом (предполагая, что ваш htaccess находится в папке с image-uploader
)
<IfModule mod_rewrite.c> RewriteEngine On RewriteBase /image-uploader/ RewriteRule ^index\.php$ - [L] RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d RewriteRule ^ index.php [L] </IfModule>
Теперь он должен работать как ожидалось. На самом деле, я не знаю намного больше о SlimPHP, но похоже, что все в порядке