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


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

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

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

/etc/mime.typeに

application/vnd.ms-excel xls (←元々記述があった)
application/vnd.openxmlformats-officedocument.spreadsheetml.sheet xlsx

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

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

回答の条件
  • 1人2回まで
  • 13歳以上
  • 登録:2011/02/10 12:06:22
  • 終了:2011/02/11 19:51:17

ベストアンサー

id:Cherenkov No.1

Cherenkov回答回数1503ベストアンサー獲得回数4932011/02/10 14:30:38

ポイント100pt

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


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

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

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

id:pocon

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

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

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

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

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

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

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

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

http://bit.ly/gsWSpV

2011/02/10 15:13:48

その他の回答(3件)

id:Cherenkov No.1

Cherenkov回答回数1503ベストアンサー獲得回数4932011/02/10 14:30:38ここでベストアンサー

ポイント100pt

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


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

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

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

id:pocon

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

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

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

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

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

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

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

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

http://bit.ly/gsWSpV

2011/02/10 15:13:48
id:JULY No.2

JULY回答回数966ベストアンサー獲得回数2472011/02/10 15:40:21

ポイント20pt

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

id:pocon

ありがとうございます。

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

 

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

現状こんな感じです。

 

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

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

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

 

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

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

 

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

 

確かに/etc/mime.type は

 

application/vnd.ms-excel xls

application/vnd.openxmlformats-officedocument.spreadsheetml.sheet xlsx

 

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

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

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

 

2011/02/10 17:49:36
id:JULY No.3

JULY回答回数966ベストアンサー獲得回数2472011/02/10 18:39:38

ポイント1pt

お教え戴いたアドインで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

id:pocon

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

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

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

2011/02/11 17:06:49
id:online_p No.4

online_p回答回数1153ベストアンサー獲得回数592011/02/11 01:45:21

ポイント20pt

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

id:pocon

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

よろしくお願いします。

2011/02/11 17:04:29
  • id:Cherenkov
    >ダイヤログ表示なしにそのままExcel2010で開けますが
    これはお使いのFirefoxが、回答で示した設定になっているからです。
    うちはダイアログが表示されます。
    配信者側がそれを制御することは不可能です。
    それができたらセキュリティ的に問題でしょう。
  • id:pocon
    >>Cherenkovさん

    ありがとうございます。
    すみません、言葉足らずで。。
    Firefox側の設定を制御ではなく、サーバの設定の問題でした。(o_ _)o
  • id:Cherenkov
    >・自鯖に保存しているExcelファイルを直接(ダイヤログ表示無しに)Excelから起動するようにしたい。
    配信側のMIMEtypeがなにであろうとファイルをどう開くかはクライアントのFirefoxの設定で決まります。設定方法は回答1で示したものです。


    http://bit.ly/gsWSpV
    ああ、なるほど注記を読んでわかりました。
    現状のContent-Type: application/octet-streamで返ってくることが問題のようですね。対処法はわからないです。すいません。

    ("/etc/mime.type"ではなく"/etc/mime.types"かな?)

この質問への反応(ブックマークコメント)

「あの人に答えてほしい」「この質問はあの人が答えられそう」というときに、回答リクエストを送ってみてましょう。

これ以上回答リクエストを送信することはできません。制限について

絞り込み :
はてなココの「ともだち」を表示します。
回答リクエストを送信したユーザーはいません