我有一个由 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
扩展名。