Дружественные URL на встроенном сервере PHP 5.4
Я обычно использую Apache как веб-сервер для своих приложений php. Но я обнаружил, что php 5.4 поставляется со встроенным веб-сервером.
В первом приложении, которое я пытался загрузить php -S, я заметил, что правила перезаписи не включены или не работают должным образом.
Кто-то знает, есть ли на встроенном сервере такая вещь?
1 ответ
Из раздела руководства " Встроенный веб-сервер ":
Если при запуске веб-сервера в командной строке указан файл PHP, он рассматривается как скрипт "маршрутизатора". Сценарий запускается в начале каждого HTTP-запроса. Если этот скрипт возвращает FALSE, то запрашиваемый ресурс возвращается как есть. В противном случае вывод скрипта возвращается в браузер.
Файл маршрутизатора
<?php
// routing.php
if (preg_match('/\.(?:png|jpg|jpeg|gif)$/', $_SERVER["REQUEST_URI"])) {
return false;
} else {
include __DIR__ . '/index.php';
}
А затем запустите сервер с:
php -S localhost:8888 routing.php
Предоставлено: http://gonzalo123.com/2012/10/15/how-to-rewrite-urls-with-php-5-4s-built-in-web-server/
Важная заметка
Этот веб-сервер был разработан, чтобы помочь разработке приложений. Это также может быть полезно в целях тестирования или для демонстрации приложений, которые запускаются в контролируемых средах. Он не предназначен для полнофункционального веб-сервера. Он не должен использоваться в публичной сети.