人力検索はてな
モバイル版を表示しています。PC版はこちら
i-mobile

CentOS5 MIMETypeについての質問です。

http://www5.cao.go.jp/keizai3/watcher.html

こちらのサイトのようにFirefoxからExcelファイルのリンククリックで
処理方法をきかれずにExcelが開くようにしたいのですが、添付のように「今後この種類のファイルは・・・」が
グレーダウンになり、毎回処理方法を聞かれます。

ググった結果、どうやら /etc/mime.type で設定すればイイらしいということで

/etc/mime.typeに

application/vnd.ms-excelxls (←元々記述があった)
application/vnd.openxmlformats-officedocument.spreadsheetml.sheetxlsx

としたのですが、OS再起動するも相変わらずグレーダウンでダイヤログが表示されます。
対処法ご教示いただければと存じます。

なお、関係するかどうかわかりませんが、Excelは2010を使用しています。
どうぞよろしくお願いします。

1297307181
●拡大する

●質問者: pocon
●カテゴリ:コンピュータ ウェブ制作
✍キーワード:application ats- ETC Excel firefox
○ 状態 :終了
└ 回答数 : 4/4件

▽最新の回答へ

1 ● Cherenkov
●100ポイント ベストアンサー

質問のコメント欄を有効にしたほうが有益です。


/etc/mime.typeはApacheの設定で配信者側の話ですよね。

ファイルの開き方はFirefoxのオプション - プログラムから選択することが出来ます。確認してみてください。

Firefox から開くメールプログラムを変更する | 操作方法 | Firefox ヘルプ

◎質問者からの返答

>質問のコメント欄を有効にしたほうが有益です。

ありがとうございます。設定しました。

>/etc/mime.typeはApacheの設定で配信者側の話ですよね。

>ファイルの開き方はFirefoxのオプション - プログラムから選択することが出来ます。確認してみてください。

お伺いしたいのは配信者側設定です。

上述のURL先のExcelファイル、景気ウォッチャー調査統計表(XLS形式)内の「2.景気の現状判断(方向性)の理由」などのExcelファイルは

ダイヤログ表示なしにそのままExcel2010で開けますが、上述を自鯖Apacheで設定しても添付ファイルのダイヤログが表示してしまうのです。

こちら註記の「Web サイトのサーバがファイルの Content-type を正しく指定していないために起こります。」の可能性だと思い質問致しました。

http://bit.ly/gsWSpV


2 ● JULY
●20ポイント

手元の Firefox では、景気ウォッチャー調査統計表もダイアログが表示されますが...。

Cherenkov さんの言うとおり、基本的にはブラウザ側の問題のように思えますが、とりあえず、問題の切り分けとして、HTTP ヘッダを確認した方が良いと思います。

Firefox であれば、下記のアドオンで、HTTP ヘッダの内容を調べる事が出来ます。

Live HTTP Headers :: Add-ons for Firefox

あと、Firebug でも見れたはずです。

Firebug :: Add-ons for Firefox

ちなみに、景気ウォッチャー調査統計表は「Content-Type: application/vnd.ms-excel」でした。

もし、これと違うヘッダが返ってくるのであれば、サーバ側の問題で、意図した Content-Type になっていない事になります。

で、Apache が Content-Type に何を設定するのかを決める方法として、mod_mime と mod_mime_magic があります。CentOS 5 では両方のモジュールが有効になっていて、mod_mime はファイル名の拡張子から、mod_mime_magic は実際のファイルの先頭数バイトをチェックして、何のファイルかを決めます。

CentOS のデフォルトの設定では mod_mime が使う「拡張子と Content-Type の関係」を記したファイルとして /etc/mime.type、mod_mime_magic が使う「どんなバイト列だったら、この種類のファイル」という関係を記したファイルが、/etc/httpd/conf/magic になります。

なので、必ずしも /etc/mime.type の記述で Content-Type が決まるわけではありません。ただ、両方のモジュールが有効な状態の場合、手元で試してみると、mod_mime の結果(つまり、/etc/mime.type)が優先されているようです。

で、HTTP ヘッダに違いがなかったら...、う?ん、何なんだろう? 気になるのは「今後この種類のファイルは・・・」のチェックボックスがグレーアウトしている点なんですが、何か入れてアドオンの影響とかあるのかなぁ。

◎質問者からの返答

ありがとうございます。

なるほど、大変よくわかりました。

言葉足らずで申し訳ありません。

現状こんな感じです。

・自鯖に保存しているExcelファイルを直接(ダイヤログ表示無しに)Excelから起動するようにしたい。

・景気ウォッチャー調査統計表はブラウザ側の設定で(ダイヤログ表示無しに)直接開けるようにできているが

自鯖のファイルはダイヤログ表示(しかも今後この種類のファイルは・・・がグレーダウン)する。

お教え戴いたアドインでheaderを調べましたところ、「Content-Type: application/octet-stream」が返されました。

(景気ウォッチャーの方のContent-Typeは当方でも確認する事ができました)

>両方のモジュールが有効な状態の場合、手元で試してみると、mod_mime の結果(つまり、/etc/mime.type)が優先されているようです。

確かに/etc/mime.type は

application/vnd.ms-excelxls

application/vnd.openxmlformats-officedocument.spreadsheetml.sheetxlsx

としてるにもかかわらず「Content-Type: application/octet-stream」が返されるというのは

何か違う設定が必要なのでしょうか?

ただ、application/vnd.ms-excelはデフォルトのままなのですが。。


3 ● JULY
●1ポイント

お教え戴いたアドインでheaderを調べましたところ、「Content-Type: application/octet-stream」が返されました。

Firefox の挙動が違うのは、これで説明がつきます。

おそらく、Firefox 側の設定で既に「Excel ファイルだったら、自動的に開く」ように設定されているんだけど、application/octet-stream で届くもんだから、Firefox としてはその「Excel ファイルだったら?」という設定に引っかからないのでダイアログを表示している、ということでしょう。

となると、Apache 側の設定で、なぜそうなるか、ですが...。

手元の CentOS のファイルを見ると、下記の部分が関係します。

・/etc/httpd/conf/httpd.conf

# ファイルの中身を見て Content-Type を決める mod_mime_magic のロード
LoadModule mime_magic_module modules/mod_mime_magic.so

# 拡張子から Content-Type を決める mod_mime のロード
LoadModule mime_module modules/mod_mime.so

# 拡張子と Content-Type の関係を記述したファイルの指定
TypesConfig /etc/mime.types

# mod_mime_magic が使う、ファイルの中身と Content-Type の関係を記述したファイルの指定。
<IfModule mod_mime_magic.c>
# MIMEMagicFile /usr/share/magic.mime
 MIMEMagicFile conf/magic
</IfModule>

例えば、TypesConfig 指しているファイルが違っていた、とか、そもそも mod_mime をロードしていなかった、とか。極端な場合だと、実は CentOS 付属の Apache ではなく、ソースからビルドして、/usr/local/? 辺りにある Apache を動かしていた、とか(^^;。

実際にロードされるモジュールは、下記のようにすると調べられます。

# httpd -M
Loaded Modules:
 core_module (static)
 mpm_prefork_module (static)
 http_module (static)
 so_module (static)
 auth_basic_module (shared)
 auth_digest_module (shared)
 authn_file_module (shared)
....

ここに mod_mime が無ければ、ロードされていない、という事になります。

...でもなぁ、なんか違うところのような気もするしなぁ。

あと、TypeConfig でファイルを指定する他に、直接、 httpd.conf に AddType を使って、

AddType application/vnd.ms-excel .xls

と書くこともできるので、それを試してみるとか。

参考までに、私が疑っている mod_mime と mod_mime_magic のドキュメントを紹介しておきます。

mod_mime - Apache HTTP サーバ

mod_mime_magic - Apache HTTP Server

◎質問者からの返答

大変に詳しいご説明恐れ入ります。(o_ _)o

mod_mimeはロードされていたようでした。

ドキュメントを元に探ってみます。ありがとうございます。


4 ● online_p
●20ポイント

プラグインを自作するか書き換えればいいのでは?http://www

◎質問者からの返答

ありがとうございます。そうですね、それが一番良さそうです。

よろしくお願いします。

関連質問


●質問をもっと探す●



0.人力検索はてなトップ
8.このページを友達に紹介
9.このページの先頭へ
対応機種一覧
お問い合わせ
ヘルプ/お知らせ
ログイン
無料ユーザー登録
はてなトップ