.htaccessの基本:使い方と例

書かれた記事:
  • ホスティングガイド
  • 更新:9月23、2019

.htaccessファイルとは何ですか?

.htaccessファイルは SlimCleaner (通常は単にApacheと呼ばれる)設定ファイル。 このファイルは非常に強力で、Apacheによって提供されているWebページの複数の側面を制御するのに役立ちます。 これには、リダイレクトの管理、ホットリンク保護などのことが含まれます。

.htaccessファイルはどこにありますか?

Webホストのルートフォルダには、Webサイトのコンテンツを格納するフォルダ(通常は/ public_htmlまたは/ www)という1つの.htaccessファイルがあります。

ホスティングアカウントには複数の.htaccessファイルを含めることができますが、各ディレクトリまたはフォルダには1つしか持てません。 たとえば、ルートフォルダとサブフォルダに別々の.htaccessファイルを置くことができます。 これにより、ディレクトリ構造に基づいて異なるサーバー動作を設定できます。

.htaccessファイルは強力ですが、正しく保護されていなければアクセスして変更することができます。 このファイルへのアクセスを防ぐための手順を実行してください。

.htaccessファイルが見つかりません

まず、.htaccessはApacheファイルです。つまり、Apacheサーバーでしか見つけることができません。*ホストが別のWebサーバーソフトウェア(Microsoft IISやNGINXなど)で実行されている場合は検索を中止します。

ドットで始まるファイル名は通常隠しファイルです。 つまり、デフォルトでは通常表示されていません。

このファイルを見るには、あなたのFTPクライアントまたはホスティングファイルマネージャで「隠しファイルを表示」をオンにするだけです(下の画像を参照)。

.htaccessファイルを探す -  cPanelファイルマネージャで隠しファイルを表示する方法
例 - cPanelファイルマネージャでこのオプションを有効にして隠しファイルを表示します。

あなたは.htaccessファイルがコーディングを必要とするので不便であると感じるかもしれませんが、複数のサイトにわたって同じサーバーの振る舞いを確立する必要があるユーザーを考慮してください。 その人がする必要があるのは、.htaccessファイルを複製することだけです。

.htaccessファイルはサーバー設定ファイルであり、振る舞いを直接扱うので、リクエストが行われるたびに何かを実行する必要はありません。 そのため、たとえばプラグインを使用する場合ほどリソースの使用量が少なくなります。

*注:Apacheは持っています 30%市場占有率について W3Techsレポートに基づいています。 WHSRで言及されている最も人気のあるホスティングブランド - A2ホスティング, お申し込み, GreenGeeks, Hostinger, インモーションセンタホスティング, Sitegroundは; Apacheによって供給されています。

.htaccessとは何ですか?

ファイル名の前にドットがありますが、htaccessはファイルの名前であり、ドットはそれを拡張子にしません。 具体的には、Apacheが実行されるときに探すのはこの正確なファイル名です。 .htaccessファイル内のものはすべて、機能を有効または無効にしたり、特定の条件が満たされたときに特定のタスクを実行したりするためのパラメーターをApacheに設定します。

たとえば、ファイルに含まれる指示に基づいて、Webサイトの訪問者がそこにないリソースを探している場合、Apacheは自動的にカスタムエラーページを読み込むことができます。 各エラータイプには独自のコードがあり、これらはそれぞれ個別にリダイレクトできます。

.htaccessファイルを使ってできることの巨大なリストがあります、そして今日私はあなたとこれらのうちのいくつかを共有するつもりです。

1 カスタムエラーページの管理

キャプション:クリエイティブにカスタマイズされた404エラーページの例

デフォルト設定のままにしておくと、ほとんどのWebサーバーソフトウェアは非常に見苦しいエラーページを訪問者に送信します。 もっとユーザーフレンドリーな(あるいは少なくとも見栄えの良い)エラーページを表示したい場合は、.htaccessファイルでカスタムエラードキュメント処理を使用する必要があります。

あなたが設計したとしましょう カスタム404エラーページ 「404.html」という名前で、「error_pages」というWebディレクトリのサブフォルダに保存します。 .htaccessで次のコードを使用すると、訪問者が404エラーを検出したときにいつでもそのページを呼び出すことができます。

ErrorDocument 404 /error_pages/404.html

この手法を使用すると、説明したい個々のエラータイプのカスタマイズされたコピーを保存し、必要なコードを.htaccessファイルに含めることによってそれらを呼び出すように設定できます。 最も一般的な出会い エラーコード 含める;

  • 400 - 悪い要求
  • 403 - 禁止されています
  • 404 - ファイルが見つかりません
  • 500 - 内部サーバーエラー
  • 503 - サービス利用不可

2 リダイレクト処理

あなたが彼らが知らないであなたが訪問者を特定のページに向かわせることができるように、包括的なリダイレクトを設定したい時があるかもしれません。 例えば、あなたがもともとHTTPを使っていたのにそれ以来 SSLをインストールしてHTTPSに移動あなたは、あなたのサイトのHTTPS版をあなたの全てのユーザーに使わせたいのです。

このような状況では、あなたがする必要があるのはRewriteルールを利用することです。

RewriteEndine on RewriteCond%{SERVER_PORT} 80 RewriteRule ^(。*)$ https://www.yourdomain.com/$1 [R、L]

このためのコードはあなたの必要性に応じて修正することができます。 たとえば、古いドメインから新しいドメインにユーザーをリダイレクトしたい場合は、次のようにします。

RewriteEngine on RewriteCond%{HTTP_HOST} ^ olddomain.com [NC、または] RewriteCond%{HTTP_HOST} ^ www.olddomain.com [NC] RewriteRule ^(。*)$ http://newdomain.com/$1 [L、 R = 301、NC]

リダイレクトを設定する方法はいくつかあります。 の詳細 書き換えの構文 の中で見つけることができます Apacheのドキュメント ページ。

リダイレクトがあなたにとってできる最も有用なことの1つはあなたがあなたが移動したページに検索エンジンを導くのを助けることです。 通常、検索エンジンはリンクにインデックスを付け、そこに正しいページが見つからない場合は、コンテンツがなくなったと見なします。

リダイレクトを使用すると、コンテンツを簡単に移動して、Webクローラーに以前にインデックス付けしたコンテンツの場所を知らせることができます。 そうするには、を使います。

リダイレクト301 / archive / / past-entries /

301命令は、ユーザーに古いコンテンツへのシームレスなアクセスを許可するだけでなく、コンテンツを永久的に移動するというWebクローラーへの命令としても機能します。 これにより、リンクのインデックスをすばやく再作成できるようになります。

3 Webサイトのセキュリティを強化する

私は多くの新しいウェブサイトの所有者が過度に頼りにする傾向があることを見つけます Webサイトのセキュリティを強化するための外部ツール。 たくさんのすばらしいアプリケーションがあることは事実ですが、あなたの.htaccessファイルの基本から始めることができます。

パスワード保護ディレクトリ

これを行うには、.htaccessと.htpasswdの2つのファイルが必要です。 .htpasswdファイルには暗号化が含まれているので、次のようなツールを使用してください。 Htpasswdジェネレータ ファイルを作成します。 .htaccessファイルにはこのコードを含める必要があります。

AuthType基本的なAuthName "パスワード保護領域" AuthUserFile /path/to/.htpasswd valid-userが必要

ディレクトリ参照を無効にする

これは最も簡単な方法の1つで、.htaccessファイルに含めるには2行のコードだけが必要です。

#ディレクトリの参照を無効にする

特定のIPをブロックする

個々のIPがあなたのサイトにアクセスするのをブロックするには、あなたの.htaccessファイルに次のコードを追加してください。

XXX.XXX.XXX.XXXから拒否

XXXを数値のIP値に置き換えます。 このコードには、さまざまな種類のIPアドレスまたは複数のIPアドレスをブロックするために使用できるものがあります。

4 ホットリンク保護

他のウェブサイトがあなたがホスティングしている画像にリンクすると、ホットリンクが発生します。 彼らはあなたのスペースと帯域幅の両方を利用しているので、これは望ましくありません。 画像のホットリンクを防ぐには、.htaccessファイルに以下を追加してください。

RewriteCond%{HTTP_REFERER}のRewriteEngine!^ $ RewriteCond%{HTTP_REFERER}!^ http://(www \。)example.com/.*$ [NC] RewriteRule \(gif | jpg | jpeg | bmp)$  - [F]

このコードの最後の行は、ホットリンクからサイトをブロックするファイルを指定する場所です。 それは基本的にApacheにドメイン名http://www.example.com/からではないそれらのファイルへのすべてのリンクをブロックするように指示しています。

ホットリンクをする人の多くは、自分の投稿を再度チェックしないことが多いので、本当に恥ずかしいことをしたい場合は、ホットリンクを試みているサイトにカスタムメッセージを表示することができます。

RewriteCond%{HTTP_REFERER}のRewriteEngine!^ $ RewriteCond%{HTTP_REFERER}!^ http://(www \。)example.com/.*$ [NC] RewriteRule \。(gif | jpg)$ http:// www .example.com / stopstealing.gif [R、L]

これは、このように問題のあるサイトに別の画像を表示する可能性があります。

5 .htaccessファイルの保護

ここまでで、.htaccessファイルが本当に便利なツールであることがわかりました。 あなたはその実現に来たので、それはあなたがこの貴重なファイルを保護することについて考えた時です! .htpasswdファイルを使用している場合は、おそらくそれも同様にシールドしたいと思うでしょうし、その両方を行う方法はそれです。

#protect .htaccessと.htpasswd <Files〜 "^。* \。([Hh] [Tt])">注文を許可し、すべての人から拒否を拒否</Files>

ほとんどの安全なサーバーでは、これらのファイルはすでに保護されています。 このコードを追加する前に、ブラウザウィンドウでファイルにアクセスできるかどうかを確認してください。 URLを入力して、後ろに/.htaccessを追加して、ファイルを表示できるかどうかを確認してください。 あなたができない場合は、おそらくエラーメッセージが表示されます。

6 サーバーのタイムゾーンを設定する

何らかの理由でサーバーの時刻が少しずれているように見える場合は、.htaccessファイルを使用してタイムゾーンを強制する必要があります。 これもやはり簡単で、1行のコードで済みます。

SetEnv TZアメリカ/ yourtimezone

利用可能なタイムゾーンの巨大なリストがあり、あなたはあなたのものに最も近い一致を見つけることができます サポートされているタイムゾーンのリスト.

.htaccessの力を受け入れる

ここに示したサンプルは、非常に大きな氷山の一角にすぎません。 それはWebホスティングユーザに彼らのサイト上でコントロールパネルを通して通常許されるよりはるかに大きいパワーを与えて、そして彼らに働くためのより幅広いツールを彼らに与えます。

コードを使用することを学ぶことは、Googleの力を使って一歩踏み出すことに過ぎません。それについての最もよいことは、あなたが使用する必要があるものを選んで学ぶだけでよいということです。

ジェリーローについて

WebHostingSecretRevealed.net(WHSR)の創設者 - 100,000のユーザによって信頼され、使用されているホスティングレビュー。 15年以上のWebホスティング、アフィリエイトマーケティング、およびSEOの経験。 ProBlogger.net、Business.com、SocialMediaToday.comなどへの貢献者。