Я не понимаю, это не первый раз, когда я запускаю проект под Slim, но у меня есть необъяснимая ошибка.
Моя папка:
c:\wamp\www\slim
Я создал "public"папка
c:\wamp\www\slim\public
Как говорят в документе, я создаю 2 .htaccess: В корне:
RewriteEngine on
RewriteRule ^$ public/ [L]
RewriteRule (.*) public/$1 [L]
В общей папке:
# Redirect to front controller
RewriteEngine On
# RewriteBase /
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^ index.php [QSA,L]
А вот мой индекс.php в общей папке:
<?php
use \Psr\Http\Message\ServerRequestInterface as Request;
use \Psr\Http\Message\ResponseInterface as Response;
require '../vendor/autoload.php';
$app = new \Slim\App;
var_dump($_SERVER);
$app->get('/', function (Request $request, Response $response) {
$response->getBody()->write("Hello");
return $response;
});
$app->get('/hello/{name}', function (Request $request, Response $response, array $args) {
$name = $args['name'];
$response->getBody()->write("Hello, $name");
return $response;
});
$app->run();
, если я пытаюсь перейти на: http://localhost/slim/ :: Страница не найдена, если я пытаюсь перейти на: http://localhost/slim/hello/Alex :: Страница ненайдено
Это работает, только если я задаю свои маршруты следующим образом:
$app->get('/slim/hello/{name}', function (Request $request, Response $response, array $args) {...
Я должен добавить «slim /» в маршрут.
Почему?На моем другом компьютере это работает.Единственное, что изменилось, это версия apache: 2.3.4 и 2.3.23 Пожалуйста, помогите.