Дружественные 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/

Важная заметка

Этот веб-сервер был разработан, чтобы помочь разработке приложений. Это также может быть полезно в целях тестирования или для демонстрации приложений, которые запускаются в контролируемых средах. Он не предназначен для полнофункционального веб-сервера. Он не должен использоваться в публичной сети.

Другие вопросы по тегам