Назад | Перейти на главную страницу

Установить MIME-тип файла JavaScript, созданного PHP

У меня есть динамически созданный файл .js с помощью PHP. Чтобы это работало, я добавил следующее в файл Apache .htaccess:

AddHandler application/x-httpd-php .js
AddType application/javascript .js

Но файлы .js отправляются с типом MIME text/html.

Как я могу заставить Apache по-прежнему отправлять его с типом MIME application/javascript? Поскольку у меня много файлов .js, добавление заголовка с помощью PHP не вариант.

Я не тестировал это, поэтому отнеситесь к этому с недоверием, но это должно сработать;

RewriteEngine on
RewriteRule ^.*\.js$ - [env=headerjs:1]
Header set Content-type application/javascript env=headerjs

Это довольно хакерский ход ... если возможно, пересмотрите вариант использования этого кода в PHP.

Исправьте это в самом файле PHP: header('Content-Type: application/javascript');

И файлу не нужен .js или .js.php расширение.

Вот еще способ; добавить в конфигурацию Apache:

<FilesMatch "\.js$">
    php_value default_mimetype "text/javascript"
</FilesMatch>