JavaScript、スタイルシートのphp化に挑戦しました。
簡単だろうと思っていたのに上手く行かない、、、、
本当に簡単な所でつまずいていました。まだまだ若葉マークは外れないようです(^_^;
.htaccessに以下を指定
以下、さくらインターネットのレンタルサーバでの設定の解説。
チョットだけコツが必要なので、詳細は以下を参照。
さくらのレンタルサーバでhtmlをphpとして作動させたい
普通はをレンタルしているサーバの所定の場所からphp.cgiを取ってきて自分のルートディレクトリに配置し、.htaccessに
DirectoryIndex index.htmlindex.php .htなんて記載すれば、赤字で記載した拡張子の全てでphpが使えるようになる。
Action myphp-script /php.cgi
AddHandler myphp-script .php.html .css .js
・・・が、何故か.cssファイル、.jsファイルはブラウザによっては全然上手く読み込んでくれない。
原因はheader Content-type:
Firefoxでphp経由で画像を読み込もうとした時ににも同じ過ちを犯していたというのに、気が付くのに2日かかってしまった(^_^;
php化したJavaScript、スタイルシートの先頭に
<?php
// スタイルシートの場合
header("Content-type: text/css");
// javascriptの場合
header("Content-type: text/javascript");
?>
を記載しておかないとブラウザによっては正しく読み込んでくれない。
HTML内で
<link rel="stylesheet"href="https://web.tvbok.com/xxxx.css" type="text/css"/>とtext typeが指定してあっても無駄。
<scripttype="text/javascript"src="https://web.tvbok.com/xxxx.js"></script>
でもこれでheaderのContent-typeに気をつければ拡張子は.jsや.cssに拘らなくても大丈夫な事に気が付いた。.htaccessに変な指定を増やすより、拡張子phpのままスタイルシートやjavascriptを読み込ませて見ようかな。
Content-type一覧が解りやすくまとめてあるサイト
perl の CGI や PHP でよく出力する Content-type ヘッダ一覧 (MIME-type) | perl/CGI | 阿部辰也のブログ――人生はひまつぶし。
▲ここが良いです。