.htaccessの基本:使用方法と例

.htaccessファイルとは?

.htaccessファイルは、Apache HTTPサーバー(通常は単にApacheと呼ばれる)構成ファイルです。このファイルは非常に強力であり、Apacheによって提供されるWebページの複数のファセットを制御するために使用できます。これには、リダイレクトの管理、ホットリンク保護などが含まれます.


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

Webホストのルートフォルダーに1つの.htaccessファイルが必要です。Webサイトのコンテンツを保持するフォルダー(通常は/ public_htmlまたは/ www).

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

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

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

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

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

このファイルを表示するには、FTPクライアントまたはHosting File Managerで[Show Hidden Files]をオンにするだけです(下の画像を参照)。.

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

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

.htaccessファイルはサーバー構成ファイルであり、動作に直接対処するため、リクエストが行われるたびに何かを実行する必要はありません。したがって、プラグインを使用する場合と比べて、リソースの消費量がはるかに少なくなります。たとえば、.

*注:W3Techsレポートに基づくと、Apacheの市場占有率は約30%です。 WHSRで言及されている最も人気のあるホスティングブランド– A2ホスティング、BlueHost、GreenGeeks、Hostinger、InMotionホスティング、SiteGround; Apacheを搭載. 

.htaccessの用途?

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

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

.htaccessファイルを使用して実行できることの膨大なリストがあり、今日はこれらのいくつかをあなたと共有します.

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

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

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

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

ErrorDocument 404 /error_pages/404.html

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

  • 400不正な要求
  • 403禁止します
  • 404 –ファイルが見つかりません
  • 500内部サーバーエラー
  • 503 –サービスを利用できません

2.リダイレクトを処理する

訪問者が知らないうちに特定のページに訪問者を誘導できるように、包括的なリダイレクトを設定したい場合があります。たとえば、最初はHTTPを使用していたが、その後SSLをインストールしてHTTPSに移行した場合、すべてのユーザーがサイトのHTTPSバージョンを使用するようにしたいとします。.

この状況で必要なのは、書き換えルールを利用することです。

RewriteEngine On

RewriteCond%{SERVER_PORT} 80

RewriteRule ^(。*)$ https://www.yourdomain.com/$1 [R、L]

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

RewriteEngine On

RewriteCond%{HTTP_HOST} ^ olddomain.com [NC、OR]

RewriteCond%{HTTP_HOST} ^ www.olddomain.com [NC]

RewriteRule ^(。*)$ http://newdomain.com/$1 [L、R = 301、NC]

リダイレクトの設定方法はさまざまです。 Rewriteの構文の詳細は、Apacheのドキュメントページにあります。.

リダイレクトによってできる最も便利なことの1つは、移動したページに検索エンジンを誘導するのに役立つことです。通常、検索エンジンはリンクにインデックスを作成し、適切なページが見つからない場合は、コンテンツがなくなったと見なします.

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

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

301命令は、ユーザーが古いコンテンツにシームレスにアクセスできるようにするだけでなく、コンテンツが永続的に移動されることをWebクローラーに命令する役割も果たします。これにより、リンクのインデックスをすばやく再作成できるようになります.

3.ウェブサイトのセキュリティを強化する

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

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

これを行うには、.htaccessと.htpasswdの2つのファイルが必要です。 .htpasswdファイルには暗号化が含まれているため、Htpasswd Generatorなどのツールを使用してファイルを作成します。 .htaccessファイルにはこのコードを含める必要があります。

AuthType Basic

AuthName "パスワード保護領域"

AuthUserFile /path/to/.htpasswd

有効なユーザーが必要

ディレクトリの閲覧を無効にする

これは最も簡単な方法の1つであり、.htaccessファイルに2行のコードを含めるだけで済みます。

#ディレクトリの閲覧を無効にする
オプション-インデックス

特定のIPをブロックする

個々のIPがサイトにアクセスできないようにするには、次のコードを.htaccessファイルに追加します。

XXX.XXX.XXX.XXXからの拒否

XXXを数値のIP値に置き換えます。このコードにはさまざまなIPアドレスの範囲または複数のIPアドレスをブロックするために使用できるバリエーションがあります.

4.ホットリンク保護

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

RewriteEngine on

RewriteCond%{HTTP_REFERER}!^ $

RewriteCond%{HTTP_REFERER}!^ http://(www \。)example.com/.*$ [NC]

RewriteRule \。(gif | jpg | jpeg | bmp)$-[F]

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

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

RewriteEngine on

RewriteCond%{HTTP_REFERER}!^ $

RewriteCond%{HTTP_REFERER}!^ http://(www \。)example.com/.*$ [NC]

RewriteRule \。(gif | jpg)$ http://www.example.com/stopstealing.gif [R、L]

次のように問題のあるサイトに代替画像を表示できます。

5. .htaccessファイルの保護

これで、.htaccessファイルが実際にどれほど便利なツールであるかがわかります。その実現に到達したので、この貴重なファイルを保護することを考えるべき時です! .htpasswdファイルを使用している場合は、おそらくそれもシールドする必要があります。両方を行う方法は次のとおりです。

#.htaccessと.htpasswdを保護する

注文を許可、拒否

すべてから拒否

すべてを満たす

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

6.サーバーのタイムゾーンの設定

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

SetEnv TZ America / yourtimezone

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

.htaccessの力を活用する

ここで示したサンプルは、非常に大きな氷山の一角にすぎません。これにより、Webホスティングユーザーは、通常のコントロールパネルで許可されるよりもはるかに強力なサイトをユーザーに提供し、操作するための幅広いツールを提供します.

コードの使い方を学ぶことは、Googleの機能を利用することのほんの1歩であり、それについての最良の点は、使用する必要があるものだけを選んで学習する必要があることです。.

Jeffrey Wilson Administrator
Sorry! The Author has not filled his profile.
follow me
    Like this post? Please share to your friends:
    Adblock
    detector
    map