fbpx
htaccess ファイル 究極ガイド

htaccess ファイル: 究極のガイド

cPanel またはホスティング プラットフォームのファイル マネージャーを詳しく調べると、.htaccess という名前のファイルに遭遇することがあります。 「.htaccess とはどういう意味ですか?」と疑問に思ったことはありますか? これは、さまざまな OS で広く使用されているサーバー ソフトウェアである Apache Web サーバーの構成設定を調整するための重要なツールです。

一見すると、.htaccess ファイルの構文は複雑に見えるかもしれませんが、その機能は非常に強力です。 URL リダイレクト、パスワード保護、特定の基準に基づいたアクセス制限などのタスクを実行できるため、その重要性が強調されます。 私たちのガイドは、.htaccess ファイルを作成し、その主な機能のいくつかを活用する方法を明確にすることを目的としています。

HTACCESS コマンドとディレクトリ インデックス:

ディレクトリインデックス: .htaccess ファイルによって制御される基本的な側面は、ディレクトリ インデックスです。 この用語は、訪問者が特定のファイルを特定せずにサイト上のディレクトリを開いたときに表示されるデフォルトの HTML コードまたはファイルを指します。 `DirectoryIndex` ディレクティブを使用すると、ディレクトリへのアクセス時に表示されるファイルの順序を指定できます。 説明する:

DirectoryIndex index.html index.php home.html

ここで、訪問者がファイルを指定せずにディレクトリに移動すると、システムは最初に「index.html」をチェックし、次に「index.php」、最後に「home.html」をチェックして、ディレクトリのランディング ページとして表示します。

URLリダイレクト: .htaccess ファイルを使用すると、新しい宛先またはカスタマイズされたエラー ページへの簡単な URL リダイレクトが容易になります。 「Redirect」コマンドを使用すると簡単なリダイレクトが保証されますが、「RewriteRule」を使用すると正規表現による複雑なリダイレクトが可能になります。 例えば:

Redirect 301 /old-page.html https://www.example.com/new-page.html

このデモでは、301 リダイレクトによって「old-page.html」URL が「https://www.example.com/new-page.html」に永久に移動します。

パスワード保護: .htaccess ファイルを使用すると、特定のディレクトリのセキュリティを強化できます。 この目的のために、ディレクティブ `AuthType`、`AuthName`、`AuthUserFile`、および `Require` がデプロイされます。 例えば:

AuthType Basic

認証名「制限付きゾーン」

AuthUserFile /path/directed/to/passwords/document

valid-userは必要

このシナリオでは、訪問者は、これらの指示に従って .htaccess ファイルが格納されているディレクトリにアクセスするためのユーザー名とパスワードの入力を求められます。

これらの .htaccess コマンドを理解して活用することで、サイトの機能と安全性を強化し、Apache Web サーバーの計り知れない可能性を活用できるようになります。 構成に誤りがあるとプラットフォームで予期せぬ問題が発生する可能性があるため、.htaccess ファイルには常に注意してください。

 

最初のメモと設定

htaccessファイル

.htaccess ファイルは、その先頭期に由来して一般に「ドット ファイル」と呼ばれ、Web ドメイン ガバナンスにとって極めて重要な不可欠な構成ファイルとして機能します。 では、.htaccess は何を意味するのでしょうか? これは「ハイパーテキスト アクセス」の略称であり、Web サーバーのシームレスな操作と強化されたセキュリティを確保する上で重要なコンポーネントを具体化しています。

.htaccess などのドット ファイルは、特定の OS またはソフトウェアにリンクされている場合があり、通常、ファイル マネージャーまたはファインダー インターフェイスのシステムによって隠蔽されます。 これらの隠されたファイルを発見するには、隠しファイルが表示されるようにシステムの表示設定を変更する必要がある場合があります。 あるいは、コマンド ラインで「ls -a」を使用すると、Linux の htaccess ファイルの場所などの隠しファイルを含むすべてのファイルが表示されます。

サーバーは、それぞれに個別の htaccess コードが注入された複数の .htaccess ファイルをホストできます。 これらのファイルは再帰的に動作します。 これは、すべての .htaccess ファイルが、そのすべてのファイルとサブディレクトリを含む、その常駐ディレクトリに影響を与えることを意味します。 したがって、Web サイトの行動と安全性のさまざまな側面を決定するための適応性のある手段となります。

.htaccess ファイルを、サーバーの設定に応じて通常「httpd.conf」または「apache2.conf」と呼ばれるプライマリ サーバー構成ファイルと区別することが重要です。 後者はサーバー全体を制御しますが、.htaccess ファイルはより詳細なディレクトリ固有の構成を許可します。

FTP 経由で .htaccess ファイルをサーバーにディスパッチする場合、ASCII モードで送信することが最も重要です。 ほとんどの FTP ツールは、デフォルトでデータ転送に BINARY モードを使用します。 ただし、このモードはドット ファイルを扱います。 コンテンツの中断を回避するには、FTP ツールで転送モードを切り替えられるようにする必要があります。 ポップアップ ウィンドウを埋め込む場合は、「/popup_window.php?site_isp_root=」のような構文を使用して、ユーザーを関連コンテンツに誘導できます。

.htaccess をサーバーにアップロードした後、その動作性を再確認してください。 変更が不活性に見える場合は、ファイルのアクセス許可が調整されていないことが原因である可能性があります。 .htaccess ファイルには 755 に設定されたアクセス許可が設定されており、所有者に読み取り、書き込み、および実行の権限を付与し、他のユーザーには読み取りと実行の権限を保持する必要があります。 FTP ツールの「ファイル アクセス許可」セグメントでこれらのアクセス許可を変更するか、コマンド ラインで「chmod 755 .htaccess」を使用します。

最後に、.htaccess ファイルは、Web サイトの機能の基礎となる強力な構成ツールの典型です。 サーバー構成、URL 再ルーティング、アクセス制限を管理するための適応性のあるアプローチを提供します。 その機能を把握し、細心の注意を払って管理することで、その効果がさらに高まり、Web サイトに潜在的な問題が発生しないようにすることができます。

サーバー構成ファイル

Apache Web サーバーのサーバー構成セットの必須要素である .htaccess ファイルを利用すると、カスタム エラー Web ページを作成する手段が提供されます。 Web ページでのユーザー エクスペリエンスの向上は、ユーザーがエラー メッセージに遭遇したときに特に重要になります。 「404 ファイルが見つかりません」、「401 不正アクセス」、「500 内部サーバー エラー」などの警告が表示されると、ユーザーは困惑することがあります。 ポップアップ ウィンドウやメイン ページに戻るリンクなどのソリューションを提供することで、ユーザーが目的の場所に簡単に戻ることができるようになります。 それは見逃せない機能です。

さまざまなプラットフォームで有名な Apache Web サーバーは、.httaccess ファイルに依存しています。 これにより、ユーザーは個々のディレクトリに固有のサーバー構成を調整できるようになります。 この適応性により、サイトの各セクションに合わせた構成が容易になり、規定の基準を確実に満たすことができます。

実際の .htaccess 構成は、単一のサーバーを使用して複数のユーザー サイトをホストします。 この PHP ファイルに適切なディレクティブを入力することで、サーバー上の多数のドメインまたはサブドメインをシームレスに監視できます。 それぞれを個別のディレクトリおよび Web コンテンツに誘導できます。 この特徴は、Web ホスティング部門に従事している人、または XNUMX つのホスティングの傘下で多数の Web サイトを処理している人に特に顕著です。

カスタム エラー Web ページやマルチサイト ホスティングを超えて、.htaccess ファイルの優れた機能は、URL 書き換え、アクセス管理、サーバー側インクルードのアクティブ化など、数多くの構成に拡張されます。 これは、プライマリ サーバーの構成ファイルに触れることなく、Web サイトの機能と強化を強化するという、非常に強力な手段です。

カスタム エラー Web ページをサイトのファブリックに織り込むには、関連するコードを .htaccess php ファイルに挿入します。 この動きは、分散サーバー構成ツールとしての .htaccess ファイルの本質を例示しています。 これはユーザー エクスペリエンスを向上させ、Web サイトのパフォーマンスを向上させるイネーブラーです。 エラー メッセージをパーソナライズし、ポップアップ ウィンドウを使用し、ディレクトリごとにコマンド サーバー設定を設定できるということは、多くの場合、.htaccess ファイルがより直感的で合理化された Web エコシステムを構築するための答えとなることを意味します。

ページのリダイレクト

ページのリダイレクト 別の一般的な使用法 .htaccess ページのリダイレクト用です。 サイトディレクタ内の任意の相対パスから指示できます。 また、サイトの絶対パス、または完全にインターネット上のどこかにリダイレクトすることもできます。 で使用する基本的な構文 .htaccess ファイルは:

/ directory_to_redirect_from / https://mysite.com/new_directory/index.htmlをリダイレクトします 

常に相対パスをソースディレクトリとして使用する必要があります。 絶対パスは、リダイレクト先のディレクトリでなければなりません。

 

htaccessファイル:パスワード保護の追加

サイト全体または特定のディレクトリのみにかかわらず、Web サイトにパスワード保護を実装することは、.htaccess ファイルが効果的に処理するタスクです。 パスワード保護で強化された Web サイトまたはディレクトリでは、アクセスするためにユーザー名とパスワードが要求されます。 ユーザーがパスワードで保護されたページにアクセスすると、ログイン ポップアップがブラウザ上に表示されます。 Apache HTTP サーバーは、セキュリティを強化するために .htaccess ファイル内のすべてのパスワードが確実に暗号化されるようにします。

特定のディレクトリにパスワード保護を追加するには、そのディレクトリ内に新しい .htaccess ファイルを作成し、フォルダへのアクセスを制限する際の .htaccess ファイルの役割を強調します。 Web サイト全体をパスワードで保護したい場合は、.htaccess ファイルをルート ディレクトリに配置します。 .htaccess ファイルは、メイン ディレクトリに含まれるすべてのファイルとサブディレクトリにパスワード保護を再帰的に適用することに留意することが重要です。

以下は、パスワード保護を実装するための基本的な構文です。

bash
AuthName "Authorized Access Only"
AuthUserFile /htpassword-filepath/.htpasswd
AuthType Basic
require valid-user

ディレクティブ「AuthName 'Authorized Access Only'」は、ログイン ポップアップに表示される保護されたディレクトリの名前を設定します。

「AuthUserFile /htpassword-filepath/.htpasswd」コマンドは、Apache サーバーに .htpasswd ファイルの場所を通知します。 「/htpassword-filepath/.htpasswd」をサーバー上の .htpasswd の実際のファイル パスに置き換えます。

「AuthType Basic」ディレクティブは、最も普及しているタイプであり、ほとんどの目的に適した基本 HTTP 認証の使用を示します。

最後に、「require valid-user」は、ディレクトリにアクセスするには有効なユーザー名とパスワードが必要であることを規定しています。 アクセスを特定のユーザーに制限する場合は、これを「ユーザー名が必要」に置き換え、「名前」を特定のユーザー名に置き換えます。 これは、特定の個人のみがアクセスできる Web サイトの管理セクションに特に役立ちます。

これは、ZacGordonによる.htaccessファイルの作成と編集の方法を示すクールなビデオです。

 

.htpasswd

あなたは配置することができます .htpasswd ファイルの絶対パスを配置する限り、ほとんどのサーバーの任意のディレクトリ .htaccess。 相対パスまたはURLを使用しても、ファイルは見つかりません。 場合によっては .htpasswd と同じディレクトリにある必要があります .htaccess、 しかしながら。 さらに、あなたは名前を付けることができます .htpasswd 他の何か。 これはApacheが自動的に理解する命名規則ですが。

にパスワードを追加するには .htpasswd、次の構文を使用します。

ユーザー名:暗号化されたパスワード
admin:fs424sJK / 67JGmn

複数のユーザー名とパスワードをXNUMXつに保存できます .htpasswd ファイル、それぞれ独自の行に。 ユーザー名とパスワードの各ペアは、コロンなしで区切られたスペースなしの同じ行にある必要があります。

Linuxサーバー パスワードを暗号化するには、パスワード暗号化サービスを使用する必要があります。 これを無料で実行できるアプリケーションやWebサイトはたくさんあります。 言及する価値のあるXNUMXつのオプションは ionixのDirectoryPass.

心に留めておきます .htaccess ログアウト機能は使用できません。 正しいログイン認証情報が入力されると、ブラウザを終了するまでWebブラウザのキャッシュに保存されます。 ブラウザを終了した後でページを再度開くには、資格情報をもう一度入力する必要があります。

IPアドレスによるアクセスの拒否

IPアドレスによるアクセスの拒否 が提供する便利なツールのXNUMXつ .htaccess IPアドレスに基づいて訪問者をブロックする機能です。 このようにして、特定の訪問者を完全にブロックできます。 または、サイトの特定のセクションからブロックすることもできます。 .htaccess 特定のディレクトリにファイル。

IPアドレスに基づいて訪問者をブロックするには、次の構文を使用します。

拒否、許可するを注文
345.4.5.0から否定
754.53.8から拒否。
すべてから許す

例のコードは、IPアドレスからのアクセスを拒否するようApacheに指示します 345.4.5.0 & 754.53.8。 XNUMX行目では、IPアドレス 754.53.8 にはXNUMX番目の数字グループが含まれていないため、最初のXNUMXつに一致するIPアドレスはすべてブロックされます。 この意味は 754.53.8.2, 754.53.8.4などはすべてサイトへのアクセスを拒否されます。

ブロックするのではなく、特定のIPアドレスからのアクセスのみを許可する場合、構文は非常に似ています。 以下のコードを使用できます。

拒否、許可するを注文
345.4.5.0から許す
すべてから否定する

このコードでは、サイトにアクセスできる唯一のIPアドレスは 345.4.5.0 —他のすべてのIPは拒否されます。

どちらの場合も(許可またはブロックされたIPアドレスの設定)、それぞれの行に好きなだけレコードを追加できます。

IPがブロックされると、訪問者には「403 Forbidden」エラーメッセージが表示されます。 前に見たように、エラーページをカスタマイズして、より人間が読める情報をビジターに提供できます。

ホットリンクの防止

別のサイトがあなたのサイトからアセット(画像、ビデオなど)を調達する場合 CSSファイルなど)、これは不必要に帯域幅を使い果たします。 これは、あなたへの帰属や利益なしに、より高いホスティングコストにつながる可能性があります。

幸いなことに、 .htaccess これを回避して、他のドメインがコンテンツを表示できないようにする方法があります。

RewriteEngineで
のRewriteCond%{HTTP_REFERER}!^ $
RewriteCond%{HTTP_REFERER}!^ https://(www \。)?mycoolsite.com /.*$ [NC]
RewriteRule \。(png | jpg | mp4)$-[F]

 

上記、.htaccess 許可しない .png, .jpg or .mp4 以外のドメインからリンクされるファイル https://www.mycoolsite.com。 禁止する他のファイル形式を指定できます(たとえば、 .css, .mp3など)。 もちろん、独自のドメイン名でコードを切り替える必要があります。

さらに一歩進んで、外部サイトがコンテンツにリンクしようとする出現で、代わりに表示される代替画像またはメッセージを提供できます(「申し訳ありませんが、あなたが試みているコンテンツアクセスはmycoolsite.comからです」):

外部サイトがコンテンツにリンクしようとする場合、代わりの画像またはメッセージを提供して、その場所に表示することができます。 たとえば、「申し訳ありませんが、アクセスしようとしているコンテンツはmycoolsite.comからのものです」という画像です。

RewriteEngineで
のRewriteCond%{HTTP_REFERER}!^ $
RewriteCond%{HTTP_REFERER}!^ https://(www \。)?mycoolsite.com /.*$ [NC]
RewriteRule \。(png | jpg | mp4)$ https://www.mycoolsite.com/hotlink-error-message.jpg [R、L]

これが表示されます hotlink-error-message.jpg 誰かがリンクしようとするときはいつでも .png, .jpgまたは .mp4 ファイルから mycoolsite.com.

htaccessHTTPSにリダイレクト

サイトにSSL証明書を追加すると、サーバーは引き続きすべてのWebページのHTTPバージョンを提供します。 これが、HTTPをHTTPSにリダイレクトして、サイトにSSLを強制する必要がある理由です。

.htaccessを介して実行できる重要な機能の301つは、XNUMXリダイレクトであり、これにより、古いURLを新しいURLに永続的にリダイレクトできることに注意してください。 次の簡単な手順に従って、サイトに着信するすべてのトラフィックにHTTPSを強制するために、この機能をアクティブにするのは簡単です。

  1. ホスティングパネルで、ファイルマネージャーに移動し、public_htmlフォルダーにある.htaccessを開きます。 また、見つからない場合は、作成または再表示する必要があります。
  2. その後、下にスクロールしてRewriteEngine Onを見つけ、これらのコード行をすぐ下に挿入します。
  3. htaccessHTTPSにリダイレクト 次に、変更を保存します。

htaccessワードプレス

あなたはそれを知っているべきです WordPress、.htaccessは、Webサーバーの実行方法とサイトの管理方法を制御できる特別な構成ファイルの301つです。 htaccessファイルは最も強力な構成ファイルのXNUMXつであり、WordPress WebサイトでSSL接続、XNUMXリダイレクト、パスワード保護、デフォルト言語などを制御できます。

.htaccess構成ファイルの使用は、ディレクトリへのアクセスに関連する国際的なサーバー設定を簡単に上書きするために使用できるため、より一般的になったことは注目に値します。 ただし、最近では、.htaccessによって他のいくつかの構成設定が上書きされる可能性があります。

htaccessファイルの例

.htaccessファイル内で膨大な量の構成の可能性を簡単に実現できることを知っていただければ幸いです。

IPアドレスをブロックする

スパムトラフィックを受信して​​いますか? おそらく、あなたのサイトは特定のIPアドレスからのハッキングの試みや悪用に苦しんでいます。 その場合は、.htaccessファイルを使用してアクションを実行できます。 .htaccessファイルのコードを使用して、そのIPアドレスからのトラフィックを簡単にブロックできます。

特定のドメインまたは特定のドメインをブロックするには、Webサイトのルート.htaccessファイルに以下を追加します。

123.123.123.123/255.255.255.0から拒否

その後、ブロックするドメインに一致するように、IPアドレスとネットマスク値を変更します。

画像のホットリンクを防ぐ

画像のホットリンクは、誰かがあなたのサイトの画像を自分のサイトに埋め込んだときに発生することを知っておく必要があります。 そして、これは(著作権の観点からだけでなく)非常に問題になる可能性があります。これは、他の誰かのWebサイトに画像を提供するために、サーバーが残業する可能性があることを意味します。

最良の方法は、.htaccessファイルを使用してこれを簡単に停止し、著作権で保護された画像がサイトに埋め込まれるのをブロックできることです。

.htaccessファイルに次の行を入力すると、サイトへのホットリンクを簡単に防ぐことができます。

htaccess-file-IPアドレスをブロックする

次のコードを使用することもできます。

htaccess-file-IPアドレスをブロックする

.htaccess ファイルを見つける方法は?

WordPress で構築された Web サイトを含む、ほとんどの Web サイトには .htaccess ファイルが装備されていることをご存知ですか? このファイルは通常、サイトのルート ディレクトリにあります。 .htaccess ファイルは通常隠されており、ファイル拡張子がないことに注意してください。

.htaccess ファイルの場所の答えは、多くの場合、サイトの「public_html」フォルダー内にあります。

.htaccess ファイルの構成要素は何ですか?

.htaccess ファイルは、Web サーバーのディレクティブとして機能するさまざまなルールで構成されている必要があります。 これはほぼすべての Web サイトに共通の機能であり、サイトのルートまたは中央ディレクトリにあります。

メリットとデメリット

.htaccess ファイルの利点の XNUMX つは、リアルタイムに適用できることです。 これらのファイルはリクエストごとに読み取られるため、加えた変更はすぐに反映されます。 これは、通常、変更を適用するにはサーバーの再起動が必要なグローバル設定とはまったく対照的です。 さらに、.htaccess 認証を使用すると、各ユーザーがサーバーのアクセス許可を迅速に設定できるため、特にマルチユーザー環境で役立ちます。

ただし、欠点もあります。 サーバーはリクエストごとに .htaccess ファイルを読み取る必要があるため、高負荷時には中程度から重度のパフォーマンスの問題が発生する可能性があります。

さらに、.htaccess ファイルを使用して設定を複数のユーザーに分散すると、特にこれらのファイルが正確に構成されていない場合、さまざまなセキュリティ上の脆弱性が発生する可能性があります。

.htaccess ファイルを無効にする方法?

.htaccess ファイルを無効にしたい場合は、通常、ファイルの名前を変更するか、ルート ディレクトリの外に移動することで無効にできます。 ただし、この操作は Web サイトの機能に影響を与える可能性があるため、注意して行う必要があります。

詳細については、回答コピーのリンクを検索して、.htaccess ファイルを安全に無効にすることができます。

注意点

.htaccessファイルは非常に便利であり、Webサイトを大幅に改善するために使用できますが、影響を受ける可能性のあるものがXNUMXつあります。

速度

.htaccessファイルはWebサーバーの速度を低下させる可能性があります。 ほとんどのサーバーでは、気付かないか小さな変更である可能性が高いことに注意してください。 これは単にページの場所が原因です。

.htaccessファイルは、そのディレクトリ内のすべてのページとその下のすべてのディレクトリに影響することを知っておく必要があります。 これは、ページが読み込まれるたびに、Webサーバーがそのディレクトリとその上のすべてをスキャンして、最終的に.htaccessファイルまたは最上位のディレクトリに到達することを意味します。

セキュリティ

.htaccessファイルは、標準のApache構成と比較してかなりアクセスしやすいことをご存知ですか? また、変更は即座に行われます。 .htaccessファイルを変更および変更する権限をユーザーに付与すると、Webサーバー自体を過度に制御できることに注意してください。

.htaccess ファイルの変更: リスクと予防措置

htaccessファイルの編集

.htaccess ファイルの編集に伴う固有のリスクをご存知ですか? 重要なコードを削除したり、間違った構文を追加したりすると、Web サイトが機能しなくなる可能性があります。 これらのリスクを最小限に抑えるには、.htaccess ファイルを直接編集する前に、少なくとも XNUMX つの安全対策を実装することが重要です。

作業を保護するには、いくつかのオプションがあります。 XNUMX つの方法は、Web サイトをバックアップして、間違いが発生した場合に以前のバージョンに戻せるようにすることです。 あるいは、ステージング Web サイトを利用して、編集内容をプライマリ サイトで公開する前にその影響を確認することもできます。

セキュリティを強化するために、.htaccess ファイルのバックアップ コピーを作成し、コンピュータにダウンロードすることをお勧めします。 そうすることで、デフォルトの .htaccess ファイルで問題が発生した場合に、アップロードして機能を復元できるフォールバック オプションが確保されます。

要約すれば

.htaccess ファイルや conf ファイルなどのサイト ファイルの操作をマスターすることは、信頼できる Web 開発者として進化する上で重要なマイルストーンです。 .htaccess ファイルは、幅広いアプリケーションと Apache 設定における役割を考慮すると、優れた出発点として機能します。

Web サイトの舞台裏で何が起こっているのかについて理解を深めるたびに、熟練した Web マスターに少しずつ近づいていきます。 この専門知識により、Web サイトの機能を効果的に最適化することができます。 あなたの質問は調査努力を示しており、関連する質問フィードのデフォルトがさらなる学習に役立つリソースであることがわかるかもしれません。

 

アンジェロ・フリシナの日光メディア

著者紹介

Angelo Frisina は、この分野で XNUMX 年以上の経験を持つ、経験豊富な著者であり、デジタル マーケティングの専門家です。 Web デザイン、アプリ開発、SEO、ブロックチェーン技術を専門としています。

アンジェロのこれらの分野に関する幅広い知識は、数々の受賞歴のあるウェブサイトやモバイル アプリケーションの作成、および幅広いクライアント向けの効果的なデジタル マーケティング戦略の実装につながっています。

アンジェロは尊敬されるコンサルタントでもあり、さまざまなポッドキャストやオンラインのデジタル マーケティング リソースを通じて彼の洞察と専門知識を共有しています。

デジタル世界の最新のトレンドと開発を常に最新の状態に保つことに情熱を傾けるアンジェロは、デジタル ランドスケープで一歩先を行こうとするあらゆる組織にとって貴重な資産です。

1 コメント

  • サウンドス 10月17、2021で7:58午前

    良い記事は明確に表現するための優れた方法です。 がんばり続ける