こんにちは。ネットショップコンサルタント「たぶ」(@yusuke_tanaka34)です。
今日は「EC-CUBE」を含めた、ネットショップ・Webサイト全般に関わる記事を書いていこうと思います。
なんだかどんどん技術的な話になってきました。(笑)
「EC-CUBE」を導入した会社さんから、よくこんな相談をいただきます。
ちょっと色が薄いし、先頭が「.」(ドット)で始まっているし、確かによく分からないファイルですよね。(笑)
今回は、『EC-CUBEに入っている「.htaccess」とは』というテーマで、「EC-CUBE」やネットショップに入っている「.htaccess」というファイルについてご紹介していきますね。
「EC-CUBE」に入っている「.htaccess」ファイルの使い方を知って、より安全で快適なネットショップを運営していきましょう!
初めて「.htaccess」ファイルを見る方にも分かりやすいように解説していきます。
ぜひ、この記事を参考に「.htaccess」に関するモヤモヤを解消しちゃってください!
スポンサーリンク
EC-CUBEに入っている「.htaccess」とは
「EC-CUBE」に入っている「.htaccess」は、「エイチティーアクセス」または「ドットエイチティーアクセス」と読まれており、「Webサーバー」の動作を制御(コントロール)するためのファイルです。
「Webサーバー」は、「さくらのレンタルサーバー」や「ロリポップ」、「エックスサーバー」や自作のサーバーなど、インターネットとつながっているサーバーのことを指します。
ほとんどの「Webサーバー」には、「Apache(アパッチ)」と呼ばれるWebサーバー用のソフトウェアが入っていて、その「Webサーバー」を制御してくれるのが「.htaccess」なのです。
「Apache」とは、世界中で一番使われている「Webサーバソフトウェア」で、無料で利用できるオープンソースなので、個人から企業まで幅広く使用されています。
全世界で使われている「Webサーバソフトウェア」の約50%〜60%が「Apache」というデータが出ています。
「Webサーバーソフトウェア」は「Apache」以外にもたくさんあり、「Microsoft」の「Microsoft Internet Information Services」(通称:IIS)」や「nginx(エンジンエックス)」などがあります。
しかし、「.htaccess」は「Apache」以外のWebサーバーソフトウェアでは利用できませんのでご注意ください。
「Webサーバー」は「ディレクトリ」(パソコンでいうところの「フォルダ」)という単位で区切られていて、その「ディレクトリ」ごとに「.htaccess」を置いて動作を制御することができます。
「Apache」を使用しているサーバの管理者が、「.htaccess」ファイルの設置を許可していれば「.htaccess」を使用できます。
現在借りているレンタルサーバーで「.htaccess」の使用を許可しているかどうかは、レンタルサーバーの管理会社にご確認ください。(だいたいのレンタルサーバーが「.htaccess」を設定できると思います。)
「.htaccess」ファイルをサーバーに設置すると、ページのアクセス制限やリダイレクト(自動転送)、BASIC認証や404エラーページの作成など、特殊な設定やカスタマイズを行うことができます。
「.htaccess」の編集と設置
「.htaccess」はファイル名が特殊で、ファイル名の先頭に「.」(ドット)が入っており、「拡張子」(.jpgみたいなやつ)がありません。
「.htaccess」ファイルは、ちょっと色が薄かったり、先頭が「.」(ドット)で始まったり、かなり変わったファイルに見えますが、ただのテキストファイルなんです。
なので、HTMLやCSSと同じようにWindowsなら「メモ帳」、Macなら「テキストエディット」などで中を見たり、編集したりできます。もちろん「秀丸エディタ」や「Dreamweaver」などでも編集は可能です。
「.htaccess」は拡張子がないため「隠しファイル」とも呼ばれ、通常のパソコンでは表示されず、ちょっとした設定をしないといけません。
「.htaccess」は各ディレクトリに設置をすることができ、各ディレクトリごとに細かく指示することができます。
通常、一番上のディレクトリにある「.htaccess」が下のディレクトリ(サブディレクトリ)にも適用されます。
しかし、サブディレクトリに「.htaccess」が入っていた場合は、サブディレクトリの「.htaccess」の指示が優先されます。
通常、Webサーバー全体の設定は「httpd.conf」ファイルに記述されています。しかし、「httpd.conf」はファイルはセキュリティの観点から、サーバー管理者しか変更することができません。
そのため、「.htaccess」ファイルで各ディレクトリの設定を行います。そこから「.htaccess」のことを「分散設定ファイル」と呼ぶこともあります。
「.htaccess」は、サーバーに設置しなくてもWebサイトは問題なく動作しますが、パフォーマンスやセキュリティーの観点から「.htaccess」の導入をおすすめします。
ただ、「.htaccess」ファイルを必要以上に設置することは、あまりおすすめできません。
もし、「httpd.conf」ファイルに直接アクセスできる場合は、「httpd.conf」ファイルで設定を行なってください。
「.htaccess」をたくさん設置してしまうとファイル数が多くなりWebサイトの表示速度が遅くなったり、どこに「.htaccess」を入れたか分からなくなり、後ほど「.htaccess」を修正しようとした時に混乱したりする可能性があるためです。
では、次に『「.htaccess」でできること』について解説していきます。
スポンサーリンク
EC-CUBEに入っている「.htaccess」でできること
「EC-CUBE」に入っている「.htaccess」でできることは、いろいろあります。例えば、
- アクセス制限
- エラーメッセージを独自の内容にカスタマイズ
- デフォルトファイルの変更
- CGIやSSIの有効
- ファイル一覧の表示・非表示
- 自動転送(リダイレクト)
- ユーザー認証機能(BASIC認証)
- デバイスによる条件分岐
- 動的ページの静的ページ化
などができます。
けっこういろいろできますね!
それでは、各機能について詳しく見ていきたいと思います。
アクセス制限
「EC-CUBE」などのネットショップを運営していると、管理画面や内部の設定など「ユーザーには見てほしくないファイル」ってありますよね。そんなファイルやディレクトリへのアクセスを拒否できる記述が「.htaccess」にはあります。
「.htaccess」を設置すれば、数行の記述を書くだけで指定したファイルを不正なアクセスから守ることができます。
また、逆に「自分が使うパソコンだけ」とか「会社内の人間だけ」といった、特定の場所や人からしかページを見ることができない設定も可能です。
「.htaccess」ファイルは、パソコンのIPアドレスやLANのIPアドレスを指定してアクセスを許可することもできるんです。
エラーメッセージを独自の内容にカスタマイズ
「EC-CUBE」に入っている「.htaccess」ファイルに書き込めば、サーバーの稼働率が高い時に表示される「503エラー」や、存在しないURLを打ち込んだ時に表示される「404エラー」などに表示されるメッセージを独自の内容にカスタマイズすることができます。
独自のエラーメッセージにカスタマイズすることで、エラーメッセージが表示されてもユーザーが「同じWebサイト内にいる。」という認識を持ってくれる為、エラーページにもグローバルメニューやサイドメニューを設置しておけば、離脱率を下げることができます。
デフォルトファイルの変更
通常、WebサイトではURLにアクセスすると、「index.html」というファイルにアクセスしています。(ブラウザのURLには「index.html」が表示されていない場合が多いです。)
【表示上】https://tab-log.com/
【実際】https://tab-log.com/index.html
この「index.html」が「デフォルトファイル」です。
「EC-CUBE」に入っている「.htaccess」ファイルに指示を書き込むことで、「デフォルトファイル」を「index.html」ではなく、別のファイルを表示させることができます。
例えば、「index.html」ではなく「front-page.php」というファイルを表示させることができます。
また、指定できる「デフォルトファイル」は1つではなく、複数の候補を優先順に表示させることも可能です。
例えば、「front-page.php」→「home.php」→「index.html」という風に表示の優先順を指定できます。
CGIやSSIの有効
「CGI」(Common Gateway Interface)や「SSI」(Server Side Include)とは、静的ページに動的パーツを表示させる技術です。
「静的ページ」とは「HTML」のみで書かれた、誰がアクセスしても同じ表示がされるページのこと。
「動的ページ」または「動的パーツ」とは、アクセスした人によって表示内容が変わるページやパーツのことです。(アクセスカウンターやチャットなど)
「CGI」や「SSI」をWebサイトで使用するためには、「.htaccess」に『このWebサイトで「CGI」(または「SSI」)を使用しますよ。』という記述をする必要があります。(「.htaccess」に記述しなくても、すでに許可されているサーバーもあります。)
ファイル一覧の表示・非表示
通常、URLにファイルではなくフォルダを指定すると、ファイル一覧が表示されます。
ファイル一覧が表示されるということは、Webサイトのファイル構成がすべて見えてしまうため、セキュリティー上とても危険です。
例えば、「css」や「js」などのフォルダは通常「index.html」などが入っていないため、「https://tab-log.com/css/」などと指定された場合は、ファイルの一覧が表示されてしまいます。
「EC-CUBE」に入っている「.htaccess」に指示を書き込むことで、ファイル一覧が表示されないようにすることができます。(表示させる指示の書き方もあります。)
自動転送(リダイレクト)
「EC-CUBE」に入っている「.htaccess」ファイルに指示を書き込むと、Webサイトを移転した時やページのURLを変更した時、Webサイトの構造を作り変えた時などに、古いURLから新しいURLに自動転送(リダイレクト)をすることができます。
また、URLに「www.」をつけるかつけないかの設定やURLの末尾に「index.html」をつけるかつけないか、「http://」でアクセスした場合に「https://」にリダイレクトするなどの設定もできます。(この設定のことを「URLの正規化」と言います。)
このようなリダイレクト処理も、「.htaccess」ファイルを使えば2〜3行程度の記述で簡単に設定することができます。
ユーザー認証機能(BASIC認証)
「EC-CUBE」に入っている「.htaccess」ファイルに書き込みを行うと、Webサイト内の特定のページやディレクトリに対して、アクセスする際にIDとパスワードの入力を求める「ユーザー認証機能」を設定することができます。
この機能は「BASIC認証」とも呼ばれています。この「BASIC認証」機能を使えば、IDとパスワードを知っている人のみが見られる会員制ネットショップなどが簡単に作れます。
ただ、「.htaccess」を利用して設定する「BASIC認証」は簡単な認証機能なので、セキュリティーのレベルを高めるためには、別の認証機能と併用して使うことがおすすめです。
デバイスによる条件分岐
「EC-CUBE」に入っている「.htaccess」ファイルを使えば、ユーザーがWebサイトにアクセスした時に、デバイスに応じて表示する画面を切り替えることができます。
例えば、パソコンでアクセスしたらパソコン専用ページへ、タブレットでアクセスしたらタブレット専用ページへ、スマートフォンでアクセスしたらスマートフォン専用ページへといった感じです。
また、「ユーザーが使っているデバイスによって、表示する内容が違いますよ。」という情報をGoogleに伝える「Vary HTTPヘッダー」も「.htaccess」ファイルで設定ができるので、もし同じURLでデバイスによって表示を変えている場合は、「Vary HTTPヘッダー」を「.htaccess」ファイルに書いておきましょう。
「Vary HTTPヘッダー」の詳細は、こちらの記事に詳しく書かれているので、ご参照ください。
【Web担当者Forum】
動的ページの静的ページ化
「CGI」や「PHP」(プログラミング言語)でWebページを動的に表示させると、URLの最後に「?post=1」のような「引数」が表示されます。
このように「引数」のある動的ページは、「Google」などの検索エンジンがうまく巡回してくれない可能性があります。
SEO的には検索エンジンがうまく巡回してくれないのは、困ったものですよね。
「引数」のある動的ページを「静的ページ」として表示することができれば、検索エンジンもくまなく巡回してくれます。
「EC-CUBE」に入っている「.htaccess」に記述を書き込むことで、「静的なページ」として検索エンジンに巡回してもらうことができます。
「.htaccess」をサーバーに設置することで、上記のようなことができるようになります。
スポンサーリンク
まとめ
今回は『EC-CUBEに入っている「.htaccess」とは』というテーマでお送りしてきました。
「.htaccess」を駆使すれば、かなりいろいろなことができそうで、ワクワクしますね。
「EC-CUBE」に入っている「.htaccess」とは
「Webサーバー」の動作を制御してくれるファイル
で、「.htaccess」に記述を書き込むことで、
- アクセス制限
- エラーメッセージを独自の内容にカスタマイズ
- デフォルトファイルの変更
- CGIやSSIの有効
- ファイル一覧の表示・非表示
- 自動転送(リダイレクト)
- ユーザー認証機能(BASIC認証)
- デバイスによる条件分岐
- 動的ページの静的ページ化
などができるようになります。
「.htaccess」の具体的な書き方は以下の記事を見てみてください。
「.htaccess」をマスターして、「EC-CUBE」をよりよいネットショップにしていきましょう!
「EC-CUBE」に関して他にも気になることがありましたら、お問い合わせまでご連絡ください。
以上、ネットショップコンサルタントの「たぶ」でした。
「EC-CUBE」に関しては、こちらの記事もおすすめです。