1

私はApacheを実行させたApache / PHPベースのサーバーを持ってjsおりhtmlcss次の行を介してPHPとしてファイルを作成しています/etc/mime.types

アプリケーション/x-httpd-php phtml pht php js html css

これを行ったのは、.html//として保存するファイルはほぼ完全に非 PHP ですが、それらのファイルで少しテンプレートを作成する必要があるためです (たとえば、ライブ中かテスト中かに応じて、一部の URL のドメインを変更するなど)。サーバ)。.js.css

問題は、これらのファイルを PHP として Apache に処理させるこの方法により、間違った MIME タイプでファイルが返されることです。これにより、少なくともcssChromium のファイルが破損し、おそらく他のブラウザーでも厄介な影響が生じる可能性があります。

これらのファイルを PHP として実行するように Apache に指示する方法はありますが、ファイル拡張子の正しい MIME タイプで出力することはできますか? 手動で貼り付けたくない

<?php
  header("Content-type: text/css");
?>

私たちのすべての.cssファイルの一番上にあります。

4

3 に答える 3

2

これを行ったのは、.html / .js / .cssとして保存するファイルはほぼ完全に非PHPであるにもかかわらず、それらのファイルで少しテンプレートを作成する必要があるためです。

それでは、とにかく動的であるメインドキュメントの動的部分を実行してみませんか?PHPインタープリターを介してすべてのリソースを実行することは、そのような無駄です。

JavaScriptの場合:

<script>
domain = "<? echo $domain; ?>";  <----- dynamic bits here
</script>
<script src="xyz.js"></script>   <----- you can use them in xyz.js

CSSの場合:

<link rel="stylesheet" href="stylesheet.css">

<style type="text/css">
 /* insert dynamic CSS here, overriding parts from the static style sheet */

 .my_div { color: <? echo $color; ?> }

</style>
于 2013-02-14T15:41:46.440 に答える
0

次の 2 つの方法で実行できます。

  1. ファイルを作成し.htaccessます。

    このファイル内で、すべての PHP ファイルを.jsまたはとして読み取るようにします.css。理想的には、次のようなファイルを持つことになります: style.css.php、および Apache によって実行されますが、ユーザーは、などscripts.js.phpの URL を取得します。style.cssscripts.js

  2. Mime タイプの使用。

    おっしゃる通り、以下を使えばPHP上で実行できます。

    application/x-httpd-php phtml pht php js html css
    

    または別の方法は次のとおりです。

    <FilesMatch "^.*?css*?$">
        SetHandler php5-script
    </FilesMatch>
    
于 2013-02-14T15:41:13.730 に答える