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を使用しています。
どうぞよろしくお願いします。
質問のコメント欄を有効にしたほうが有益です。
/etc/mime.typeはApacheの設定で配信者側の話ですよね。
ファイルの開き方はFirefoxのオプション - プログラムから選択することが出来ます。確認してみてください。
質問のコメント欄を有効にしたほうが有益です。
/etc/mime.typeはApacheの設定で配信者側の話ですよね。
ファイルの開き方はFirefoxのオプション - プログラムから選択することが出来ます。確認してみてください。
>質問のコメント欄を有効にしたほうが有益です。
ありがとうございます。設定しました。
>/etc/mime.typeはApacheの設定で配信者側の話ですよね。
>ファイルの開き方はFirefoxのオプション - プログラムから選択することが出来ます。確認してみてください。
お伺いしたいのは配信者側設定です。
上述のURL先のExcelファイル、景気ウォッチャー調査統計表(XLS形式)内の「2.景気の現状判断(方向性)の理由」などのExcelファイルは
ダイヤログ表示なしにそのままExcel2010で開けますが、上述を自鯖Apacheで設定しても添付ファイルのダイヤログが表示してしまうのです。
こちら註記の「Web サイトのサーバがファイルの Content-type を正しく指定していないために起こります。」の可能性だと思い質問致しました。
手元の 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-excel xls
application/vnd.openxmlformats-officedocument.spreadsheetml.sheet xlsx
としてるにもかかわらず「Content-Type: application/octet-stream」が返されるというのは
何か違う設定が必要なのでしょうか?
ただ、application/vnd.ms-excelはデフォルトのままなのですが。。
お教え戴いたアドインで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 のドキュメントを紹介しておきます。
大変に詳しいご説明恐れ入ります。(o_ _)o
mod_mimeはロードされていたようでした。
ドキュメントを元に探ってみます。ありがとうございます。
ありがとうございます。そうですね、それが一番良さそうです。
よろしくお願いします。
>質問のコメント欄を有効にしたほうが有益です。
ありがとうございます。設定しました。
>/etc/mime.typeはApacheの設定で配信者側の話ですよね。
>ファイルの開き方はFirefoxのオプション - プログラムから選択することが出来ます。確認してみてください。
お伺いしたいのは配信者側設定です。
上述のURL先のExcelファイル、景気ウォッチャー調査統計表(XLS形式)内の「2.景気の現状判断(方向性)の理由」などのExcelファイルは
ダイヤログ表示なしにそのままExcel2010で開けますが、上述を自鯖Apacheで設定しても添付ファイルのダイヤログが表示してしまうのです。
こちら註記の「Web サイトのサーバがファイルの Content-type を正しく指定していないために起こります。」の可能性だと思い質問致しました。
http://bit.ly/gsWSpV