.htaccess の初心者ガイド

公開: 2023-10-25

.htaccess – Web サイトの所有者なら誰もが時々聞いたことがある恐ろしい言葉です。 名前自体は専門的すぎて理解できないように思えますが、これは強力なツールです。 .htaccess の仕組み、その仕組み、考えられる使用例を理解すれば、それを使って簡単に実行できることは十分にあります。 .htaccess とは何なのか、どのように活用できるのかを詳しく見ていき、.htaccess の最も一般的な使用例と説明を見てみましょう。

.htaccessとは何ですか?

「ハイパーテキスト アクセス」の略称である .htaccess は、Apache Web サーバー ソフトウェアの制御に役立つ設定ファイルです。 .htaccess ファイルを作成してディレクトリに追加すると、このファイルがロードされ、後で Apache Web サーバーによって実行されるようになります。

簡単に言うと、このファイルを使用して、Web サーバーが提供する機能を有効または無効にすることができます。 基本的なリダイレクトやホットリンクの防止から、.htaccess の操作を把握することにはさまざまな利点があります。

.htaccess ファイルはどのようなものですか?

.htaccess ファイルはあなたが作るものです。 ファイルの目的に応じて、1 行だけを含めることも、複数行を含めることもできます。 非常に多くのことを実行するためにファイルに書き込むことができるものはたくさんありますが、読み進めるとその例がいくつか見つかります。

もう持っていますか?

ほとんどの場合、Web サイトをお持ちの場合は、.htaccess ファイルがすでにあると思われます。 通常、Web サイトのルート フォルダーにあります。 Web サイトのすべてのコンテンツが含まれるフォルダーに移動し、Public_HTML フォルダーまたは www という名前のフォルダーを探します。 複数のサイトにサブディレクトリがある場合は、各サブディレクトリに 1 つあります。

うまく見つからなくても、心配しないでください。 それはあなたがそれを持っていないという意味ではありません - それは単に隠されている可能性があります。 これは通常、.htaccess と同様に、ドットで始まるファイルの場合に当てはまります。 デフォルトでは、通常、それらを見つけるのは簡単ではありません。

ファイルマネージャーまたはFTPクライアントに進み、「隠しファイルを表示」オプションを探してください。 特に「環境設定」、「設定」、「オプション」などのオプションをオフのままにしないでください。

持っていないようです。

それでも、苦労する必要はありません。簡単に作成できます。 必要なのは、通常のテキスト エディタと、細部に目を向けることです。 たとえば、Microsoft WordPad や TextPad を使用できます。 ただし、難しいのは、.htaccess ファイルに適切な名前を付けて保存することです。

まず、適切な形式で保存する必要があります。 これは ASCII 形式である必要があるため、UTF-8 またはその他の形式で保存したいという誘惑に抵抗してください。

次に、ファイル名が .htaccess であることを確認します。 これは非常に簡単に聞こえますが、実際にはここで細部への目が重要になります。 必ず先頭にドットを付けておいてください。 次のステップでは、ファイル拡張子が含まれていないことを確認します。 「htaccess.txt」として保存しても最終ラインには到達しません。 ドットを追加し、拡張子を削除してください。

最後に、それを適切なディレクトリにアップロードします。 ガイドに戻って、上記のディレクトリのいずれかに保存できます。 これを行うには、FTP またはその他の使いやすいブラウザベースのファイル マネージャーを使用できます。

.htaccess では何ができますか?

.htaccess と少しのノウハウを使用して達成できることは複数あります。 その一部を次に示します。

エラーの処理

.htaccess を使用して行うことができる最初のこと、そして最も簡単なことの 1 つは、訪問者に恐ろしいエラー メッセージではなく、フレンドリーでカスタムのエラー メッセージが表示されるようにすることです。

最初に HTML ドキュメントを作成します。 たとえば、404 エラーの場合は「Not Found」、502 エラーの場合は「Bad Gateway」など、エラーの説明を含めることをお勧めします。 ただし、実際には、任意のコンテンツを表示できます。

また、どのドキュメントであるかわかるように、適切な名前を付ける必要があります。 404 エラーを処理している場合、404.html として保存するのが一般的な方法です。 また、このファイルを error_pages ディレクトリに保存することもできます。このディレクトリには、すべてのエラー ドキュメントが保存されます。

それが準備できたら、好みのエディターで .htaccess ファイルを開き、次のような内容を入力する必要があります。

エラードキュメント 404 /error_pages/404.html

この行は、404 エラーが発生するたびに指定されたドキュメントを表示するように Web サイト サーバーに指示します。 さらに、必要なエラー文書に対してこのプロセスを繰り返すことで、訪問者が通常受け取るであろうあまりにも単純で一般的なメッセージにイライラしないようにすることができます。

単純なリダイレクト

WordPress にはこれを行うためのプラグインが多数ありますが、.htaccess ファイルを使用して訪問者をリダイレクトすることもできます。 訪問者を、訪問者が要求したページではなく、指定したページに誘導することも簡単な作業です。 ファイルに別の行を入力すると、訪問者を Web サイト内の別の場所、または別の Web サイトにリダイレクトできます。

それらをリダイレクトするために、.htaccess ファイルに追加できる内容の例を次に示します。 もちろん、ニーズに合わせて少し編集する必要があります。

リダイレクト /old_dir/ http://www.yourdomain.com/new_dir/index.html

これをカスタマイズして、訪問者が目的の場所に到達できるようにする方法を理解できるように、これについて説明しましょう。

まず、/old_dir/ は何でしょうか? これは、ドメインの下にあるディレクトリまたはドキュメントです。より正確には、「http://www.yourdomain.com/old_dir/」にあります。 これは、訪問者がアクセスしようとするポイントです。 ファイルの残りの部分は、代わりにどこに配置されるかを指定します。 この場合、Web サイトの /new_dir/ のインデックス ページに配置されます。

ご覧のとおり、開始点とは異なり、ユーザーが最終的にアクセスするページは完全な URL です。 これは、例の URL の代わりに任意の URL を使用して追加できるため、別のドメインにリダイレクトするときに役立ちます。 簡単ですね。

パスワード保護

Web サイトの周囲にコミュニティを構築したい場合は、メンバーエリアを提供し、訪問者にログインしてもらうことが重要です。 コミュニティはマーケティング活動や販売に関して行うのに最適ですが、ユーザーが誰であるかについてのアイデアを生み出したり、顧客に関する必要な情報を収集したりするのにも役立ちます。

GDPR に準拠している限り、この巧妙なトリックを使用して、収集した情報に基づいてオファーを編集し、最終的にはより多くの販売を行うことができます。

パスワード保護するにはどうすればよいですか?

Web サイト上のあらゆるものにパスワードを追加する機会は、.htaccess ファイルを使用する最も一般的な方法です。 やり方も簡単ですが、1 つまたはいくつかのディレクトリをパスワードで保護することができます。 これにより、ユーザーは有効なユーザー名とパスワードを持ってアクセスできるようになり、さまざまな状況で非常に役立ちます。

ディレクトリにパスワード保護を設定すると、ログイン手順がかなり簡単になり、Web ブラウザが自動的に処理します。 ブラウザのポップアップ インターフェイスとして表示されます。 パスワードも暗号化されるため、ログイン資格情報も安全になります。

どのディレクトリをパスワードで保護するかがわかっている場合は、.htaccess ファイルを作成してください。 すべてのサブディレクトリもパスワードで保護されることに注意してください。 同じルールがここにも適用されますが、次の内容を含めることをお勧めします。

AuthName “メンバーの名前”

AuthUserFile /パス/パスワード/ファイル/.htpasswd

認証タイプ 基本

有効なユーザーが必要です

必要に応じて変更する方法がわかるように、これを分解してみましょう。 この .htaccess ファイルの最初の行では、保護するディレクトリの名前を指定します。 この場合は「メンバー名」ディレクトリですが、パスワードが必要なディレクトリ名に合わせて変更する必要があります。

2 行目はパスワード ファイルを指定します。より正確には、サーバーがパスワード ファイルを見つけることができる場所を指定します。 3 番目は、使用している認証タイプです。 この例では、これは Basic であり、基本的な HTTP 認証を表します。

最後の行はログインの要件を表します。 この例では、有効なログイン資格情報が必要です。 ここでは、パスワードで保護しようとしているものに応じて、有効にするために必要なものを指定できます。

パスワードファイル

次に、パスワード ファイルを特定する必要があります。 パスワード ファイルは Web サーバー上のどこにでも配置できますが、パスワード ファイルは .htaccess ファイルと同じディレクトリに配置することをお勧めします。 これは、一部のサーバーではこれを設定する必要があるためです。 2 行目には、パスワード ファイルが含まれるディレクトリへのフル パスを使用する必要があります。

もちろん、これはパスワード ファイルを準備しておく必要があることも意味します。 この例では、.htpasswd と呼ばれていますが、任意の名前を付けることができます。 それでも、同じ名前を付けた場合、幸いなことに、サーバーはこのファイル名を認識し、訪問者に対して自動的に非表示になります。 パスワード ファイルには次の内容が含まれている必要があります。

ユーザー名:暗号化されたパスワード

john_smith:oCF9Pam/MXJg2

訪問者のアクセスを拒否する

ウェブサイトであっても、ペルソナ・ノン・グラータは存在します。 適切な .htaccess ファイルを使用すると、他のユーザーのアクセスを制限できます。 または、逆に、特定の訪問者に特定のアクセスを許可します。 前者は Web サイトを保護したい場合にかなり便利で、後者はサイトの特定の側面を完全に制御したい場合に最適です。

訪問者のアクセスを拒否するには 2 つの方法があります。 IP アドレスに応じて訪問者へのアクセスを拒否するか、参照元に基づいて選択することができます。

IPによる拒否

一部の IP をブラックリストに登録したい場合は、.htaccess ファイルの助けを借りて簡単に登録できます。 同じルールに従って新しいものを作成し、次のテキストを追加します。

許可、拒否を注文する

XXX.XXX からの拒否

XXX.XX.X からの拒否。

全員から許可する

もちろん、X をブロックしたい IP アドレスに置き換える必要があります。 必要なだけ追加すると、このファイルにより、これらの IP アドレスがサイトでは歓迎されていないことが Web サーバーに通知されます。 この行は、Web サイトへの他の訪問者を大歓迎していることを示しているため、必ず「すべてから許可」を追加してください。

一方、自分だけがアクセスできるようにしたい場合は、代わりに次のテキストを含める必要があります。

許可、拒否を注文する

XXX.0.0.0 から許可

全員から否定する

もちろん、X は自分の IP アドレスに置き換える必要があります。 これは、あなただけが特定のスポットにアクセスできるようにサーバーに指示します。

参照者による拒否

ログを見ると、不審なアクティビティに気づきました。 紹介者をブラックリストに追加して、心配を解消してみてはいかがでしょうか。 .htaccess を使用してそれを行う方法は次のとおりです。

通常どおりにファイルを作成するだけです。 入力は次のようになります。

リライトエンジンがオン

# オプション +フォローシンボリンク

RewriteCond %{HTTP_REFERER} otherdomain\.com [NC]

RewriteRule .* – [F]

これでうまくいくはずです! ただし、リソースにかなりの負荷がかかる可能性があるため、「mod_rewrite」が無効になっている可能性があるため、サーバーで「mod_rewrite」が有効になっているかどうかを確認する必要があります。 その場合は、ホスティング プロバイダーに確認する必要があります。

本質的に、これらの行は、あなたの Web サイトでは otherdomain\.com からのユーザーは歓迎されないことをサーバーに知らせます。 もちろん、代わりにここに適切なドメインを追加する必要があります。 最後の「[NC]」部分も、指定したドメイン名が大文字と小文字を区別しないことを示すため、非常に重要です。 つまり、「OtherDomain」も立ち入り禁止になります。

複数のトラブルメーカーをブロックしたい場合は、代わりに「[NC,OR]」を追加してから、同じ方法で別のものを追加してください。

RewriteCond %{HTTP_REFERER} anotherdomain\.com

満足するまでこれを続けることができますが、最後のものを除いて、それぞれの最後に「[NC,OR]」を追加することを忘れないでください。

悪質なボットによる Web サイトのスキャンを防ぐ

.htaccess を使用するもう 1 つの完全な理由は、Web サイト上のクローラーを防ぐことです。 コンテンツ全体をダウンロードしてオフラインで閲覧する無害なものもありますが、悪意のあるものもあります。 つまり、インターネットには悪質なボットが溢れており、スパムメールやセキュリティホールを埋めたり、単にコンテンツをソースしたりするためのメールアドレスを探しています。

これは前の例よりも少し高度ですが、ぜひ試してみてください。 このような悪質なボットがユーザーに害を及ぼすのを防ぐことは、何らかの方法で必須です。

前の例で行ったように、別の .htaccess ファイルを作成するだけです。 ここに記述する必要がある内容は次のようになります。

リライトエンジンオン

RewriteCond %{HTTP_USER_AGENT} ^BlackWidow [OR]

RewriteCond %{HTTP_USER_AGENT} ^スーパーボット

RewriteRule ^.* – [F,L]

実のところ、このリストにはよく知られているコウモリ ボットがすべて含まれているはずなので、リストはもっと長くなるはずです。 そのようなリストはここで見つけることができます。 含める数が多いほど良いです。

ただし、必ず名前を変更してください。BlackWidow や SuperBot の代わりにボットの名前を使用してください。 各項目の最後には必ず[OR]を含めますが、最後の項目では使用しないように注意してください。 出来上がり! あなたのウェブサイトには、悪意のあるクローラーが一切存在しません。

他にもありますか?

もちろん、それはあります。 前述したように、これは結局のところ初心者向けのガイドです。 .htaccess ファイルを使用して実行できることは他にもたくさんあります。

たとえば、.htaccess ファイルを使用してサーバーのタイムゾーンを設定したり、その署名を変更したりできます。 Web サイトがメディアに大きく依存している場合は、これを使用して、すべてのメディア ファイルが再生されるのではなく、確実にダウンロードされるようにすることができます。 または、無効な文字を含むリクエストを防ぐために使用することもできます。

.htaccess を綴ろうとするだけでも大変ですが、ご覧のとおり、.htaccess を使用するのは簡単ですが、それでも多くのことを実現できます。

ファイルを作成および編集するときに留意する必要があるのは、変更を加えた後、公開する前にファイルを徹底的にテストすることです。 ユーザーに 500 内部サーバー エラーを提供したくないですよね?

最後のアドバイス

何かがうまく機能しない場合でも、過度にイライラしないでください。 タイプミスがないかチェックしてください。通常はこれでうまくいきます。 そうでない場合は、サポート フォーラムを確認してください。