• ベストアンサー

MIMEタイプの設定を上書き

お世話になっております。 今cgi-binの中でしかcgiが動かないサーバーを借りていてcgi-binの中からcssや画像を呼び出そうと考えております。サーバではcgi-bin以下はすべてcigスクリプトとして解釈するためそのままではいけません。 そのためいろいろやってみてすべてのファイルをcgiスクリプトとしてでなく画像ファイルなら画像、JSファイルならJSと認識させることに成功したのですが、 cssだけがなぜかうまくいきません。 以下そのために行ったことと調査結果です。 .htaccessが使えるので.htaccessに AddType image/jpeg .jpeg .jpg .jpe AddType image/png. png AddType text/html .html .htm AddType text/css .css (略...) AddHandler image/jpeg jpeg jpg jpe AddHandler image/png png AddHandler text/html html htm AddHandler text/css css (略...) と書いてみたのですが、cssがiE以外に効きませんでした。画像に関してはimgタグで指定した画像はどのブラウザでも正しく表示できています。 ブラウザに直接アドレスを叩くと全部正常にDLできました。 cgi実行ファイル .htaccess  |  ┣━━commoms  |画像ファイル  |画像ファイル  |hoge.css  |(以下略) このような構成になっていてcgiが出力するhtmlで読もうとしているのはhoge.cssです。 炎狐のFirebugで調べたところ 「MIME タイプが "text/css" ではなく "application/x-httpd-cgi" となっているため、スタイルシート"xxx.css"は読み込まれていません」 とエラーが出ました。 いろいろググったのですが、結局ここまでしかわかりませんでした。 AddTypeでMIME タイプは上書きていると書いてあるところがあったのですが、ほんとでしょうか? どなたか、サーバーの初期設定値"application/x-httpd-cg"から"text/css"に変える方法を教えてください。どうかよろしくお願いします。

質問者が選んだベストアンサー

  • ベストアンサー
  • entree
  • ベストアンサー率55% (405/735)
回答No.1

> 今cgi-binの中でしかcgiが動かないサーバーを借りていてcgi-binの中からcssや画像を呼び出そうと考えております。 cssや画像をcgi-bin以外の所に置けばいい問題だと思いますが。 そして通常はそのようにします。 HTMLではcssや画像をcgiと同じディレクトリに置かなければいけないというような仕様にはなっていないはずです。

horino
質問者

お礼

やってみました。 そしたらうまくいきました!!!! いままでCGIに書き込むのはWebパスだと思ってました。でも違うんですね。Unixなら /home/groups/.... などから始まるパスのほうでした。このせいで前回うまくいっていなかったようです。 CSSのほうは、Webパスであることに注意してパスを書き変えたところうまくいくようになりました。 .htaccessでやれなかったのは一人のひよっこ技術者として納得いかないものがありますが、もうこれ以上時間を費やすわけにはいかないでので終わりよければ全てよしでとりあえず納得しておきます。 ご回答、本当にありがとうございました。 ここ1週間ぐらい悩んでいたので、本当に助かりました。 またお世話になる時がありましたら、どうぞよろしくお願いします。

horino
質問者

補足

確かにそう思って、一度すべてディレクトリを書き換えることも試してみたのですが、なぜかうまくいきませんでした。そこでcgiを書き換えるのでなく、.htaccessで対処しようと思ったしだいです。 今日手が空いたら、念のためもう一度書き換えて試してみたいと思います。ありがとうございました。

関連するQ&A