PHP Slim Framework Routing работает только локально - PullRequest
0 голосов
/ 08 марта 2019

Я создал что-то маленькое, используя Slim Framework для маршрутизации. Все работало идеально локально. Сейчас я арендовал Droplet и использую стек LAMP в Ubuntu 18.04 Мое приложение находится по адресу /var/www/src/public.

Я уже добавил это в apache.conf:

<Directory /var/www/src/public>
Options Indexes FollowSymLinks
AllowOverride All
Require all granted
</Directory>

Мой 000-default.conf уже имеет правильный установленный маршрут.

Мой .htaccess.txt находится в /public с моим index.php, который содержит:

RewriteEngine On

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

Я уже включил mod_rewrite для Apache.

Когда я называю IP-адрес сервера, главная страница успешно загружается с Slim, где маршрутизация настроена так:

$app->get('/', function (Request $request, Response $response) {
    return $this->renderer->render($response, "/index.php");
});

Таким образом, Slim, похоже, правильно отображает мой index.php, который находится в каталоге /var/www/views. Этот путь определяется в контейнере следующим образом:

$container['renderer'] = new PhpRenderer("../../views");

Проблема начинается, когда я пытаюсь получить доступ, например, к сайту ip_address/player, даже если он правильно маршрутизирован и функционирует локально. Попытка добраться до него дает мне это в браузере:

Not Found
The requested URL /player was not found on this server.

Я несколько часов гуглял, пробуя разные решения, но просто не могу заставить его работать. Любая помощь будет принята с благодарностью.

1 Ответ

0 голосов
/ 08 марта 2019

Не должно быть .htaccess вместо .htaccess.txt.Какая у вас ОС?

...