Как заставить php build-in сервер отдавать несуществующую статику?

Пользуюсь built-in сервером. Хочу, чтобы запросы на несуществующую статику (cms/init.js в моем случаи и другие) отправлялись на index.php, для обработки запроса непосредственно уже самим php для генерации init.js

Текущий конфиг:
<IfModule mod_rewrite.c>
    <IfModule mod_negotiation.c>
        Options -MultiViews
    </IfModule>

    RewriteEngine On

    # Redirect Trailing Slashes...
    RewriteRule ^(.*)/$ /$1 [L,R=301]

    # Handle Front Controller...
    RewriteCond %{REQUEST_FILENAME} !-d
    RewriteCond %{REQUEST_FILENAME} !-f
    RewriteRule ^ index.php [L]
</IfModule>
  • Вопрос задан
  • 2466 просмотров
Решения вопроса 1
dakiesse
@dakiesse Автор вопроса
Разобрался, оказывается build-in сервер не поддерживает .htaccess. Релизовывать роутинг необходимо средствами php.

<?php
# routing.php
if (preg_match('/\.(?:png|jpg|jpeg|gif)$/', $_SERVER["REQUEST_URI"])) {
    return false;
} else {
    include __DIR__ . '/index.php';
}


Далее запускаем сам сервер с кастомной точкой входа

php -S localhost:8000 routing.php

PS. Данный пример все равно не будет отдавать сгенерированный js, но тут уже можно дописать
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 1
@mumrum
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f

убрать
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы