У меня есть динамически созданный файл .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>