【CakePHP入門】.htaccessとは?用途や設定方法を解説!

書いた人 ヤマシタ


侍エンジニア塾ブログは、未経験からWebアプリ開発と仕事獲得をサポートする
侍エンジニア塾のオウンドメディアです。
プログラミング学習を覗き見

こんにちは!フリーエンジニアのヤマシタです。

みなさんは.htaccessというファイルをご存知でしょうか?

.htaccessは、WebサーバのApacheを設定することができるファイルです。

この記事では、

・.htaccessファイルとは
・.htaccessの中身や有効範囲
・.htaccessの設定方法

などの.htaccessの基本的な使い方について解説していきます。

.htaccessファイルは使用するWebサーバーの設定を自由に設定することができますので、興味のある方はぜひ参考にしてください!

.htaccessとは

htaccess(エイチティアクセス)とは、Apache(アパッチ)と呼ばれるWebサーバのソフトウェアを制御するための設定ファイルの1つです。

Apache(アパッチ)とは、世界中で最もよく使われているWebサーバーのソフトウェアで、基本的に無料なため、個人から企業まで幅広く使用されています。

htaccessを利用することで、さまざまなApacheの設定を行うことが可能です。

具体的には、

・IDとパスワードの制限
・IPアドレスとリモートホストの制限
・タイムゾーンを設定
・文字コードの設定
・表示するページの設定
・インデックスファイルの設定
・URLの自動転送
・エラーページの設定
・特定のファイルをダウンロード

などの設定が可能です。

.htaccessを確認してみよう

ここでは、.htaccessファイルの中身を見ていきましょう。

CakePHPでは.htaccessファイルはCake/webrootに格納されています。

.htaccessは隠しファイルとなりますので、そのままではフォルダから参照することはできません。

・隠しファイルの表示方法
Windowsの場合は、エクスプローラーウィンドウから表示タブを選択し、「ファイル名拡張子」「隠しファイル」にチェックを入れます。

MacやLinux系OSの場合はターミナルからCake/webrootに移動し、「ls -a」コマンドを実行すると.(ドット)で始まる隠しファイルを表示することができます。

表示結果:

また、.htaccessを設定するには元々のファイルはリネームしてバックアップするか、別名でファイルを作成して、編集後のサーバーにアップロード時に.htaccessにリネームする方法があります。

・.htaccessファイルの中身
CakePHPの3.x系では.htaccessの中身はデフォルトで以下のようになっています。

デフォルトでは、mod_rewriteと呼ばれるURLの書き換えを行うモジュールの設定が記述されています。

RewriteEngine On
mod_rewriteを有効にする。

RewriteCond %{REQUEST_FILENAME} !-f
アクセスされたURLにファイルが存在しない場合。

RewriteRule ^ index.php [L]
GETメソッドでアクセスされたデータをindex.phpにリライトする。

htaccessの有効範囲

.htaccessファイルには有効範囲があります。

例えば以下のようにディレクトリTESTAに.htaccessファイルが合った場合は、ディレクトリTESTA、TESTA-1、TESTA-2にhtaccessの設定が有効になります。

ディレクトリTESTB、TESTCには.htaccessファイルの影響は受けません。

.htaccessの設定方法

ここでは、実際に. htaccessの設定方法を記述してみましょう。

以下に. htaccessファイルでよく設定する項目を紹介します。

エラーページの設定

404や500などのアクセスした際のエラー時に、オリジナルのエラー表示を設定することができます。

以下のように追記するだけで、404エラーになった場合などに404.htmlが表示されます。

リダイレクト

リニューアルなどでサイトのURLやディレクトリを変更した場合に変更前のURLでのアクセスを新しいURLに転送します。

以下のように指定すると、どのページからのアクセスも自動的にひとつのURLへ転送することができます。

タイムゾーンの設定

以下の例ではタイムゾーンを日本時間に設定しています。

アクセスの制限

特定のIPアドレスやドメインなどのアクセスを制限したり、許可したい場合は以下のように記述します。

・すべてのアクセスを制限

・特定のホストでのアクセスを制限

・特定のホストのアクセスを許可

指定した拡張子のファイルを保存する

画像ファイルやPDFなど、PCへダウンロードさせたいファイルの拡張子を指定することができます。

まとめ

ここでは.htaccessファイルの用途や設定方法などについて解説しました。

普段.htaccessファイルを意識することは少ないと思いますが、Apacheのリダイレクトやエラーページの作成を簡単に行うことができます。

もし、.htaccessファイルについて忘れてしまったら、この記事を思い出してくださいね!


33歳、未経験だった僕がフリーエンジニアになれた理由
現在フリーでWEBエンジニアをやられている濱口直行さん。33歳で、プログラミングを学び始め、約半年という短い期間で独立までされた学習ログを余すことなくインタビューさせていただきました。

プログラミングを学習中の方はもちろん、独立をお考えの方まで幅広く活用できる記事になっています。この機会に是非活用していただければと思います。


最短でプログラミングを習得したい方へ

元々ITリテラシーのある方やプログラムの学び方がわかっている方は独学で習得することも可能でしょう。

ただし、実際の学習期間中はつまづいている時間がほとんどです。

「もう挫折したくない」
「本業と両立しながら、好きな時間で自分のペースで勉強を続けていきたい。」
「自分だけのカリキュラムで効率的に勉強したい」

そんな方はお気軽に侍エンジニア塾までご相談ください。

弊社では、

  • プログラミング基礎学習
  • オリジナルアプリ開発
  • 仕事獲得

までをひと通り学習できます。

まずは無料体験レッスンで、弊社のコンサルタントと一緒にあなた専用の学習方法やカリキュラムを考えてみませんか?

挫折しない学び方や、通常1000時間以上かかる学習時間を1/3にする方法などより具体的なアドバイスもさせていただいています。

詳しくは下の画像をクリックして弊社サービス内容をご確認ください。

cta1

非常識な結果を出した卒業生

活躍する現役エンジニア

人気記事セレクション

LINEで送る
Pocket

この記事が気に入ったら
いいね!をしてフォローしよう

最新情報をお届けします

書いた人

ヤマシタ

フリーランスエンジニア。ITに関わるさまざまなコンテンツの企画・制作も行っています。
ITに関してはノウハウ系、ライフハック系、トレンド系など、今まで200本以上の執筆経験があります