Web

.htaccessの書き方。リダイレクト・アクセス制御・チューニング・カスタムページ設定を紹介。

投稿日:

こんにちは!シミダイ(@shimidai2100)です。

.htaccessといえばホスティングサービスを利用する上で必須の設定ファイルになります。


.htaccessとは?

「.htaccess」とは、最も多く使用されているオープンソースのWEBサーバー「Apache」を制御する設定ファイルの1つです。

Apacheの制御は設定ファイル「httpd.conf」に記載されていますが、これをWEBサーバー全体の制御を行っているため、サーバー管理者しか変更することができません。

Xserverなどの共有サーバ構成のホスティングサービスでWEBサーバーの設定を変えたい場合は、「.htaccess」でWEBサーバの挙動を制御することができます。

.htaccessで出来ることとは?

「.htaccess」で出来ることは以下になります。

  • リダイレクト設定(違うページに移動させる、URL変換を行う)
  • アクセス制御(アクセス出来るファイル・ディレクトリを制限する)
  • チューニング(ファイル転送容量を減らす)
  • その他設定変更

.htaccessの作成方法

「.htaccess」の作成方法はとても簡単で、テキストファイルで「.htaccess」ファイルを作成すればOKです。

ファイル名の前にドットがついており、隠しファイルにすることを忘れずに行ってください。

作成したファイルを制御を掛けたいディレクトリに配置させます。

一般的にはindex.htmlやindex.phpファイルと同一ディレクトリに配置します。

リダイレクト設定

リダイレクト設定は「.htaccess」で最も頻繁に利用します。

ドメイン名をwww”あり”に統一

Yahoo!JapanやYoutubeなどのようにwww付きのドメインにする場合には↓の記載します。

ドメイン名をwww”なし”に統一

個人のブログや中小企業などに多い、www無しのドメインにする場合には↓の記載します。

HTTPS(SSL)アクセスに変更

HTTPS(SSL)アクセスに変更する場合は、↓のように記載します。

HTTPSアクセス化はSEO観点で必須なので必ず設定しておきましょう。

301(恒久的)リダイレクト

サイトの引っ越しなどで使用する301(恒久的)リダイレクト設定は↓になります。

302(暫定的)リダイレクト

サイトのメンテナンス時などで使用する302(暫定的)リダイレクト設定は↓になります。

アクセス制御

アクセスさせたくないファイルやディレクトリがある場合には、アクセス制御を行います。

ベーシック認証

最も安価にアクセス制御を行う方法として「ベーシック認証」を利用できます。

許可リスト(ホワイトリスト)での制御

アクセス許可していないが、○○だけは許可する」という場合には↓のように設定します。

Allow(許可)」に対象のIPアドレスやホスト名を記載します。

Order」や「Allow」は後方に記載されたもの優先的に使用されます。↑の例では「Deny(拒否)」が優先的に使用されます。

「.htaccess」は後方に記載されたものが優先と覚えておきましょう。

拒否リスト(ブラックリスト)での制御

アクセスを許可しているが、○○だけは拒否する」という場合には↓のように設定します。

Deny(拒否)」に対象のIPアドレスやホスト名を記載します。

Order」や「Deny(拒否)」は後方に記載されたもの優先的に使用されます。↑の例では「Aloow(許可)」が優先的に使用されます。

「.htaccess」は後方に記載されたものが優先と覚えておきましょう。

チューニング

「.htaccess」でのチューニングは、「ブラウザ側でのキャッシュ」と「データの圧縮転送」の2つになります。

ブラウザ側でのキャッシュ

ブラウザ側にファイルをキャッシュさせるには「mod_expires.c」を使用します。

キャッシュさせる期間は↓を参考にしてみてください。

参考Apache モジュール mod_expires

データの圧縮転送

データを圧縮してから転送することでクライアント側に送信するデータ量を抑えることが出来ます。

ネットワークがボトルネックに場合に利用することをオススメします。

データ圧縮には「mod_deflate.c」を使用します。

また別の方法として「mod_pagespeed」を使用する方法があります。

ただしXserverなどの一部の共有サーバでしか使用できません。

その他の設定

その他のよく使う設定です。「httpd.conf」で

400系エラーページの指定

400系エラーページを「ErrorDocument 」を使用して個別に指定することが出来ます。

500系エラーページの指定

サーバサイドのエラーである500系も400系と同様に「ErrorDocument 」を使用して個別に指定することができます。

ファイル・ディレクトリ一覧を非表示にする

ファイル・ディレクトリ一覧上方を非表示させます。セキュリティ観点で非表示させることが一般的です。

CGIの実行を有効化する

CGIの有効化も「.htaccess」で制御することができます。

実行可能にするCGIの拡張子は「AddType」で設定します。

 

その他必要な記述を更新してきます!

スポンサードリンク

関連記事

-Web

Translate »

Copyright© shimidai2100 , 2018 All Rights Reserved.