У меня есть проект Laravel 5 с настройками маршрутов, а также пользовательская страница 404 (в основном для отсутствующих/неправильных "страниц" ).
Итак, в основном, если я открываю любой существующий маршрут, я получаю правильный вывод, а каждый другой URL-адрес показывает 404:
-
project.com/login
- Хорошо, страница входа в систему -
project.com/ghdkfgl
- 404
Это выглядит ясным и, похоже, работает как ожидалось. Итак, все, что я добавляю после косой черты, открывает либо фактическую существующую страницу, либо страницу 404.
Если я не поставил "index.php" в любом месте URL-адреса. В этом случае Laravel выполняет запрос по какой-то причине следующим образом:
-
project.com/jhdfkds/index.php/login
- Открывает страницу входа (CSS и другие ресурсы ушли из-за путей, но понятных). -
project.com/kfhjdsg/index.php/fkdhsg
- Открывает 404 (но CSS и другие ресурсы тоже не загружаются).
Я уверен, что оба из них должны открыть 404, поскольку в моем проекте нет таких маршрутов.
Я также проверил такое же поведение на веб-сайте документации Laravel (я предполагаю, что он построен на Laravel).
-
http://laravel.com/docs/5.0 - Фактический URL
-
http://laravel.com/aaa - хорошая страница 404
-
http://laravel.com/aaa/index.php/docs/5.0 - Страница документации Laravel снова, так же как и первая
Что может быть причиной этого? Как это можно решить?
Почему Laravel даже считает "index.php" посередине URL?
Это имеет какое-либо отношение к файлу .htaccess? (Я его не редактировал)