Как известно, в PHP 5.4 и PHP5.5 появился встроенный веб-сервер, который сильно ускоряет разработку. Не надо ставить apache2, nginx, php-fpm и так далее.
Однако, он не поддерживает работу с .htaccess. Из-за чего возникают проблемы.
Например, если у вас в URL есть точки, например:
/site/page/1.json
То PHP будет искать такой файл на диске, а не обрабатывать запрос вашим index.php (как бы он сделал в случае с запросом вида /site/page/1).
Эту проблему легко решить, используя routing скрипт. Например, можно создать routing.php с содержанием вида:
explode нужен для того, чтобы, если есть файл вида 23.css, а запрос шёл вида 23.css?x=1, то php всё-таки постарался бы отдать статический файл.
А после этого запускаем php с указанием этого файла:
php -S 8080 -t /var/www/sitedir routing.php
Однако, он не поддерживает работу с .htaccess. Из-за чего возникают проблемы.
Например, если у вас в URL есть точки, например:
/site/page/1.json
То PHP будет искать такой файл на диске, а не обрабатывать запрос вашим index.php (как бы он сделал в случае с запросом вида /site/page/1).
Эту проблему легко решить, используя routing скрипт. Например, можно создать routing.php с содержанием вида:
<?php if (file_exists(__DIR__ . '/' . explode('?', $_SERVER['REQUEST_URI'], 2)[0])) { return false; // serve the requested resource as-is. } else { include_once 'index.php'; }Он проверяет наличие файла, и если такого файла нет - отдает запрос на работу вашему index.php.
explode нужен для того, чтобы, если есть файл вида 23.css, а запрос шёл вида 23.css?x=1, то php всё-таки постарался бы отдать статический файл.
А после этого запускаем php с указанием этого файла:
php -S 8080 -t /var/www/sitedir routing.php
1 комментарий:
123.hp.com setup
www 123 hp com setup
123.hp.com/setup
Отправить комментарий