AltoRouter отправляет Mime Type - PullRequest
       27

AltoRouter отправляет Mime Type

0 голосов
/ 01 января 2019

Я использую AltoRouter, чтобы направить мои URL-адреса в правильные файлы.Теперь в основном здесь , я уже описываю свою проблему.

На одной странице у меня есть предупреждение, стилизованное с помощью bootstrap.

Оно определено так просто:

$('#wrongPasswordDiv').html('<br/><div class="alert alert-danger" id="wrongPWAlert" role="alert">Falsches Passwort. Bitte erneut versuchen!</div>');

Кроме того, ранее включался файл css Bootstrap:

<link rel="stylesheet" type="text/css" href="/bootstrapcss" />

bootstrapcss направляется в правильный файл css с использованием AltoRouter и этой строки кода:

$router->map('GET','/bootstrapcss','vendor/twbs/bootstrap/dist/css/bootstrap.css','bootstrapcss');

Теперь в консоли выдается предупреждение: Resource interpreted as Stylesheet but transferred with MIME type text/html: "http://localhost/bootstrapcss".

Если я использую полный путь к файлу css, CDN или удаляю DOCTYPE, он работает нормально.Но я не хочу делать ни один из этих вариантов ... Удаление doctype может повредить другие функции, и если я буду использовать полный путь css, мне не понадобится маршрутизация ...

Anyидеи, как я мог бы отправить заголовок Content-type: text/css, чтобы он работал?

1 Ответ

0 голосов
/ 02 января 2019

Вы должны отправить правильное Content-Type перед отправкой содержимого ответа.Я не знаю много PHP, поэтому я не могу читать CSS лучшим образом, но это рабочий пример:

Используя этот маршрут:

$router->map('GET','/bootstrapcss','example.css','bootstrapcss');

И затем при сопоставлении:

$match = $router->match();

if($match['name'] === 'bootstrapcss'){
    header("Content-Type: text/css");
    $fileName = $match['target'];
    echo file_get_contents($fileName);
    return;
}

Для контекста у меня есть полный пример здесь: https://gist.github.com/kobi/09eaeeecb3406b193a84a674218798a9
Это основано на базовом примере на AltoRouter: https://github.com/dannyvankooten/AltoRouter/tree/master/examples/basic

...