Я создал что-то маленькое, используя 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.
Я несколько часов гуглял, пробуя разные решения, но просто не могу заставить его работать. Любая помощь будет принята с благодарностью.