使用htaccess将js / css解析为PHP文件

时间:2012-05-23 14:46:18

标签: php javascript .htaccess

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

有人可以帮助我吗?

AddType application/x-httpd-php .js

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

我错过了什么?

在我的file.js

以下......

<?php 

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

我期待一个php致命的错误,但我完全看到上面的纯文本。

6 个答案:

答案 0 :(得分:9)

尝试:

<FilesMatch "\.(js)$">
AddHandler application/x-httpd-php .js
</FilesMatch>

答案 1 :(得分:9)

如果你想使用.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>

答案 2 :(得分:2)

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

标题(“content-type:application / x-javascript”);

答案 3 :(得分:1)

如果您正在尝试使PHP在Javascript文件中工作,您只需将Javascript重命名为javascript_file.js.php并让PHP在其中工作。

您的页面中没有任何问题。

`

答案 4 :(得分: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>

答案 5 :(得分: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元素内的当前纪元时间戳