设置 PHP 生成的 JavaScript 文件的 MIME 类型

设置 PHP 生成的 JavaScript 文件的 MIME 类型

我有一个由 PHP 动态创建的 .js 文件。为了使其正常工作,我在 Apache .htaccess 文件中添加了以下内容:

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

但是 .js 文件是以 MIME 类型发送的text/html

我怎样才能让 Apache 仍然以 MIME 类型发送它application/javascript?由于我有很多 .js 文件,因此无法通过 PHP 添加标头。

答案1

我还没有测试过这个,所以对此持怀疑态度,但是这应该可以做到;

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

这很不合理。如果可能的话,请重新考虑在 PHP 代码中执行此操作。

答案2

这是另一种方法;添加到 Apache 配置:

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

答案3

在 PHP 文件本身内修复它:header('Content-Type: application/javascript');

并且该文件不需要.js.js.php扩展名。

相关内容