WEBサーバで拡張子ごとにブラウザでの挙動を制御の怪(.htaccess編)

2009年02月06日

Linux(CentOS,Fedora)でWEBサーバの怪

ダウンロードする時にダイアログが出ずブラウザで開かれてしまい文字化けがずらずらっと出てしまう時の対処法です。
※IEはファイルの中身で判別してるので関係ありません。

概略は.htaccessファイルを置く事によって、そのディレクトリ以下のサーバ設定をします。.htaccessは上層ディレクトリの物ほど強く、上書き出来る項目については下層ディレクトリに存在している.htaccessファイルの設定項目を上書きしてしまいます。なのでよく考えて設定しましょう。

手順
1.まず.htaccessファイルの使用をサーバ側で許可します。
# vi /etc/httpd/conf/httpd.conf

---ファイルの中身---
AllowOverride All(デフォルトではnoneになってます。)
--------------------

2.httpdを再起動しましょう。
# /etc/rc.d/init.d/httpd restart

3..htaccessファイルを用意します。
適用したいディレクトリに.htaccessというファイルを作り、置きましょう。そのディレクトリ以下のファイルは.htaccessファイルに書いた通りのサーバ挙動になります。

---ファイルの中身---

# .exe 実行ファイル
AddType application/octet-stream exe

# .lzh アーカイブ
AddType application/octet-stream lzh

# Macintosh .hqx 圧縮
AddType application/mac-binhex40 hqx

# Flash コンテンツ
AddType application/x-shockwave-flash swf

# ZIP ファイル
AddType application/zip zip

--------------------

これで完了です。

※制御はページにでは無くDLする物にかかってます。
つまり適用されてない上層ディレクトリからのリンクでもDLする物が適用されているディレクトリにあれば、そのディレクトリにある.htaccessファイルの挙動になります。



・何をしているか。
.htaccessの設定でhttpd.confの設定の上書きを許可しています。

AllowOverride

None
上書きを許しません。
ALL
全ての種類の設定について上書きを許します。
AuthConfig
認証に関する設定について上書きを許します。
Limit
ホスト名やIP addressによるアクセス制御の上書きを許します。
Options
Options指定子で設定する機能について上書きを許します。
FileInfo
ディレクトリ表示の設定について上書きを許します。


.htaccessリファレンス
http://memorva.jp/memo/linux/htaccess.php

MIMEリファレンス
http://www.geocities.co.jp/Hollywood/9752/mime.html

※この方法はサーバ管理者でなくとも役立ちますが、サーバ管理者の立場だとユーザ任せになってしまうので怠慢管理者と呼ばれるそうです。サーバ設定としては違う方法を次に紹介します。

WEBサーバで拡張子ごとにブラウザでの挙動を制御の怪(mime.types編)
書いた人 sis | Comment(0) | TrackBack(0) | Linux:サーバー | このブログの読者になる | 更新情報をチェックする
この記事へのコメント
コメントを書く
お名前: [必須入力]

メールアドレス:

ホームページアドレス:

コメント: [必須入力]

認証コード: [必須入力]


※画像の中の文字を半角で入力してください。

この記事へのトラックバック
×

この広告は180日以上新しい記事の投稿がないブログに表示されております。