6

嗨,我一直在努力在 htaccess 上执行以下操作,但它似乎不起作用。

有人可以帮我吗?

AddType application/x-httpd-php .js

我尝试了 php4,php5 版本的所有我可以在谷歌上找到的东西,但我没有运气。

我错过了什么?

在我的 file.js

以下是...

<?php 

$(document).ready();//jquery/javascript
?>

我预计会出现 php 致命错误,但我将上述内容完全视为纯文本。

4

6 回答 6

10

如果您只想使用 .htaccess 配置来执行此操作(谁想在每个PHP 文件中设置标头?):

<FilesMatch "\.css$">
  SetHandler application/x-httpd-php
  Header set Content-type "text/css"
</FilesMatch>

<FilesMatch "\.js$">
  SetHandler application/x-httpd-php
  Header set Content-type "application/javascript"
</FilesMatch>
于 2012-10-24T21:57:49.460 回答
9

尝试:

<FilesMatch "\.(js)$">
AddHandler application/x-httpd-php .js
</FilesMatch>
于 2012-05-23T14:49:49.833 回答
2

如果我是正确的,您的 PHP JS 文件必须带有内容类型的标头:application/x-javascript,否则它不会被解释为 JS。

Header("content-type: application/x-javascript");

于 2012-05-23T14:57:22.620 回答
1

如果您试图让 PHP 在 Javascript 文件中工作,您可以简单地将 Javascript 重命名为javascript_file.js.php并让 PHP 在其中工作。

将其包含到您的页面中不会有任何问题。

`

于 2012-05-23T14:49:31.837 回答
0

一种可能性是您未配置为允许使用 .htaccess 文件。

你可以在你的 httpd.conf 中检查这个。

您要确保将AllowOverride其设置为All

例如

<Directory />
  Options FollowSymLinks
  AllowOverride None
  Order deny,allow
  Deny from all
  Satisfy all
</Directory>

<Directory />
  Options FollowSymLinks
  AllowOverride All
  Order deny,allow
  Deny from all
  Satisfy all
</Directory>
于 2012-05-23T14:53:30.813 回答
0

我对 .htaccess 了解不多,但我相信解决问题的部分方法是将 jQuery 移到 php 标签之外,如下所示:

<?php

?>
</script>
    $(document).ready();
<script>

您的文件将被解析为任何其他 php 文件,因此您的 javascript 将在 javascript 标签内正常执行。

如果您想在 javascript 中包含 php 变量,请执行以下操作:

<?php
    $time=time();
?>

    <script>
        $( document ).ready(function(){
            $("SPAN").text("<? echo $time; ?>");
        });
    </script>
    <SPAN></SPAN>

上面的代码将返回 SPAN 元素内的当前纪元时间戳

于 2015-12-07T11:21:43.940 回答