Поэтому я использую микрофрейм Flight PHP ( http://flightphp.com/ ) для маршрутизации. Мой вопрос: как я могу запустить маршрутизатор из подкаталога? Я имею в виду, по сути, запускать его в песочнице в папке.
Как и в случае, запрос '/' просто вытаскивает обычный файл index.php. Но запрос «/ flight / file» будет загружать URL-адрес с помощью Flight.
Я знаю, что вы не можете просто сбросить его в папку на сервере и ожидать, что он будет работать, потому что FlightPHP ожидает URL-адреса относительно корня.
Есть ли способ запустить FlightPHP, изолированный в каталоге, а остальная часть веб-сайта работает с обычным PHP?
РЕДАКТИРОВАТЬ
Я попробовал просто поместить файл .htaccess в подкаталог. Это имеет особый эффект, заключающийся в том, что маршруты продолжают действовать так, как если бы они были из корня (например, / thing / otherthing /, когда это должно быть / otherdirectory / thing / otherthing /), одновременно вызывая, что обратный вызов 404 не работает. Не то, что я намеревался.
EDIT 2
Содержимое файла .htaccess, что и предлагает сайт Flightphp:
RewriteEngine On RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d RewriteRule ^(.*)$ index.php [QSA,L]
Я знаю, что это старый вопрос, но я делаю что-то подобное, просто добавив что-то вроде
RewriteBase /flight/
в файле .htaccess (перед всеми вашими правилами) каталога рейсов. Надеюсь, это поможет кому-то еще искать то же самое. Пример:
RewriteEngine On RewriteBase /flight/ RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d RewriteRule ^(.*)$ index.php [QSA,L]
Извините, что дал вам ответ, который не поможет многому. Я запускаю Flight (также песочницу) в подкаталоге. Я создал .htaccess только с настройками по умолчанию в subdir, и Flight теперь относится к этому как к корневому.
RewriteEngine On RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d RewriteRule ^(.*)$ index.php [QSA,L]
Вы проверяли содержимое .htaccess на более высоких уровнях, возможно, есть что-то, что блокирует вас