.htaccessの使い方│東京 Web制作会社のWebサーバー関連コラム

Columnコラム

Web制作

WEBサーバーの設定に便利な.htaccessの使い方

WEBサーバーの設定に便利な.htaccessの使い方

2015/12/07
このエントリーをはてなブックマークに追加

WEBサイトを運営するにあたって、切り離せないのがWEBサーバーの設定です。
自身でサーバーを構築する場合はもちろんWEBサーバーの設定を自分で行う必要があるのですが、共有ホスティングサービスやフルマネージドの専用サーバー等、すでに設定がされているサーバーでは契約すればそのまま利用できるため、あまり意識せず利用している方も多いのではないでしょうか。
しかし、全てお任せのサーバーだったとしても、たまにWEBサーバーの設定を変更したいということがあると思います。そんな時便利なのが「.htaccess」という設定ファイルです。サーバーにもよりますが、この「.htaccess」を使ってWEBサーバーの設定を変できるサービスが多くあります。
今回はその「.htaccess」を使ってサーバーの設定を変更する方法でよく利用するものをまとめます。

r-hashimoto_2015_10_1_001.png

WEBサーバーの設定を変更する「Option」ディレクティブ

「.htaccess」で設定を変更する中で、まず一番使われるのは「Option」ディレクティブです。
これは「.htaccess」を置いたディレクトリ配下に適用させることができます。

・Options -Indexes
サーバーのディレクトリ内にインデックスファイル(多くの場合はindex.html)がない場合、そのディレクトリの中身を一覧表示させないようにする設定です。標準設定では一覧表示をする設定になっているサーバーもあり、そのままではセキュリティ的に問題があるため上記設定を追加する必要があります。

・Options +FollowSymLinks
後ほど説明する設定のmod_rewriteを有効にする設定です。
最近ではデフォルトで有効になっているサーバーが多いですが、有効になっていない場合、上記の記述をして明示的に有効にする必要があります。

WEBサイトメンテナンス時に使える設定

WEBサイトのメンテナンスを行う場合やリニューアルを行う場合、一時的にサイトをメンテナンス表示に切り替えたい事があります。もちろん自分でメンテナンスページをつくりファイルを差し替えてしまえば良いのですが、全てのファイルをメンテナンスページに差し替えるのは、とても手間で非効率です。
その場合「.htaccess」に下記のように記載すると、どのページにアクセスしたとしても用意したメンテナンスページに自動転送されるようになるため、とても便利です。

---------------------------------------------------------------------
ErrorDocument 503 /maintenance.html
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteCond %{REQUEST_URI} !=/maintenance.html
RewriteRule ^.*$ - [R=503,L]
</IfModule>
---------------------------------------------------------------------

メンテナンス時でも特定のIPアドレスからはアクセスさせたい場合は下記のようにIPアドレスを設定する事で、特定のIPアドレスからのアクセスは転送されなくなります。

---------------------------------------------------------------------
ErrorDocument 503 /maintenance.html
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteCond %{REQUEST_URI} !=/maintenance.html
RewriteCond %{REMOTE_ADDR} !=【特定のIPアドレスを記載】
RewriteRule ^.*$ - [R=503,L]
</IfModule>
---------------------------------------------------------------------

PHPの設定を変更する

「.htaccess」を使って、WEBサーバーに組み込まれているPHPの設定を変更することができます。設定を変更するには「php_value」の後にPHPの設定名、設定値を空白区切りで記載します。下記によく利用する設定を記載します

・PHPのエラー表示をされないように変更する。
php_value "display_errors" "off"

PHPの標準設定ではPHPのプログラムエラーがそのまま画面に表示されるようになっています。プログラム開発時にはエラー表示はとても便利なのですが、公開している際に表示されてしまうとサーバー内の情報を開示する事になり、セキュリティ的によくありません。その場合は上記設定をしてエラーが画面に表示されないようにします。

・PHPの利用メモリ上限を変更する
php_value "memory_limit" "16M"

PHPでは実行するプログラムがサーバー上の利用できるメモリのマックス値が設定されています。初期設定では2Mまでしか使えないため、このままでは大量のデータを扱うプログラムは実行することができません。そのような時には上記の設定をしてPHPのメモリ利用量を増やす必要があります。

・セキュアクッキーの設定をする
php_value "session.cookie_secure" "0"
WEBサービスのセッションを保持する際によく利用されるのがCookieですが、これは通信上暗号化されていない通信でもやり取りができてしまうため、あまり好ましくありません。上記の設定をするとセキュアな接続を通じてのみCookieを送信できるようになるため、WEBサイトのセキュリティレベルを高めることができます。

まとめ

いかがでしたでしょうか。
今回はWEBサイト運営に使える「.htaccess」の使い方をまとめてみました。
もちろん設定できる、できないは契約したサーバーにもよりますが、利用するサーバーの選定目安の一つとして「.htaccess」を利用できるかどうかを入れるのもよいと思います。いくつかよく使う設定方法を記載してきましたが、実際にはもっといろいろな設定をする事ができますので、興味がある人は調べてみてはいかがでしょうか。

ホームページ制作でお困りの方はホームページ制作会社ティファナにご相談ください!

お問い合わせはこちらから

関連するサービス

システム開発・システム構築

text_totop