2012-05-23 12 views
6

こんにちは私はhtaccessで以下のことをやってみましたが、うまくいかないようです。htaccessを使用してjs/cssをPHPファイルとして解析します。

誰かが私を助けることができますか?

AddType application/x-httpd-php .js

私はPHP4、PHP5のバージョン私はGoogleで見つけることができるすべてのものを試してみましたが、私は運がなかったです。

何が欠けていますか?私file.jsで

は、次の...

<?php 

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

私はPHPの致命的なエラーを期待していますが、私はプレーンテキストとして正確に上記参照されています。

答えて

9

試してみてください。

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

私はこれを試してもうまくいきません:( – Val

+0

PHPを入手するには、これを行う必要があります。ただし、.jsファイルを処理するには、ディレクティブの中でAddHandlerを使う必要はありませんが、 SetHandler。しかし、このハンドラを使用すると、応答のMIMEタイプはtext/htmlになりますが、これは.htaccessでオーバーライドできないと思います。つまり、MIMEタイプを(再)設定する必要がありますPHPで、@ Steveの答えとして –

1

JavaScriptをPHPで動作させようとしている場合は、JavaScriptの名前をjavascript_file.js.phpに変更し、その中にPHPを組み込むことができます。

あなたのページにそれを含めても問題はありません。

`

+0

の内側に現在のエポックタイムスタンプを返します。 、私のnotpadに+ +私は黒と白ではなく、ハイライターを持っていたい:) – Val

+0

あなたはまだ ''を使用して含めることができますか?または、PHPをインクルードする必要がありますか? – JVE999

0

一つの可能​​性はあなたが.htaccessファイルの使用を許可するように構成されていないということです。

これはhttpd.confで確認できます。

あなたは私が正しいだ場合は、お使いのPHP JSファイルにする必要があります

<Directory /> 
    Options FollowSymLinks 
    AllowOverride All 
    Order deny,allow 
    Deny from all 
    Satisfy all 
</Directory> 
+0

.htaccessは、 'RewriteRule。/index.php [L]'と他のビットでテストしたように動作します(それらをすべて削除しようとしましたが、 'AddHandler application/httpd-php .js' – Val

2

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

からAllowOverrideAll

例えば

に設定されていることを確認したいですcontent-typeのヘッダで提供される:application/x-javascそれ以外の場合はJSとして解釈されません。

ヘッダー( "content-type:application/x-javascript"); (?内のすべての PHPファイルをヘッダーを設定したい)あなただけの.htaccessの設定を使用してこれを実行したい場合は

+0

'<?php header(" content-type:application/x-javascript ");'これは私の出力です...まずPHPのファイルタイプとして処理する必要があります。コンテンツタイプを追加するには? – Val

+0

私はmとは思わないどのブラウザでもJavaScriptファイルのコンテンツタイプが気になりますが、CSSファイルがtext/htmlであると仮定している人もいるかもしれませんが、おそらくファンシーな404なので、何も処理されません。 –

9

<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> 
+0

ヘッダー行で500の内部サーバーエラーが発生している場合は、Apacheの設定でmod_headersが有効になっていることを確認してください。ありがとうございました! –

0

私は.htaccessファイルについて多くを知らないが、私はやります

<?php 

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

ファイルの他のPHPファイルとして解析しようとしているので、あなたのjavascriptが内部の、通常通りに実行されます。そうのように一部があなたの問題を解決するには、PHPタグの外にjQueryを移動させることであると信じてjavascriptタグ

あなただけのようにそうあなたのjavascriptの内部のPHP変数を含めたい場合:

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

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

上記のコードは、しかし、私はthatsの最高のを知っているSPAN要素

関連する問題