htaccessファイルTheUltimate Guide(2021 Update)

htaccessファイル:究極のガイド(2021アップデート)

cPanelまたはホスティングアカウントのファイルマネージャーを参照すると、 .htaccess。 このファイルは、ApacheWebサーバーの多くの構成設定を管理します。 Apacheは、クロスプラットフォームのオペレーティングシステムで広く使用されているサーバーソフトウェアです。

使用する構文は最初は少し混乱する可能性がありますが、 .htaccess ファイルは多くの強力なことを行うことができます。 その機能には、リダイレクト、パスワード保護、特定の条件に基づくアクセス制限などが含まれます。 この投稿では、 .htaccess 最も一般的な用途のいくつかをファイルして実装します。

 

最初のメモと設定

htaccessファイル

.htaccess ピリオドまたはドットで始まるため、一般に「ドットファイル」として知られています。 ほとんどの場合、ドットファイルは何らかの構成ファイルです。 ドットファイルは、オペレーティングシステムまたはソフトウェアの一部である場合があります。 デフォルトでは、オペレーティングシステムは、ファインダーウィンドウまたはあらゆる種類のシステムファイルマネージャーでドットファイルを非表示にします。 通常、オペレーティングシステムの設定から[隠しファイルを表示]オプションを選択する必要があります。 または、 ls -a コマンドラインのすべてのファイルを表示するコマンド。

あなたは複数を持つことができます .htaccess サーバー上のファイル、および各ファイルは常に再帰的に動作します。 つまり、各ファイルは、そのファイルが置かれているディレクトリだけでなく、すべてのファイルとサブディレクトリにも影響します。

FTPを使用して転送する場合 .htaccess ファイルをサーバーに送信するには、次の方法で転送する必要があります ASCII モード。 デフォルトでは、ほとんどのFTPクライアントは、 BINARY ドットファイルの転送には無効です。 FTPクライアントに転送モードを設定するオプションがあるはずです。

サーバーにファイルを配置したら、テストして、想定どおりの動作をしていることを確認します。 なんらかの理由で変更が反映されていないように見える場合は、ファイルの権限が正しくないことが原因である可能性があります。 のファイル権限 .htaccess はに設定する必要があります 755。 FTPクライアントに「ファイル許可」オプションがあるはずです。 または、次のコマンドを実行することもできます chmod 755 .htaccess ターミナルで。

カスタムエラーページ

使用 .htaccess ファイルでは、カスタムエラーページを設定できます。 これにより、訪問者がエラーメッセージに遭遇したときの、より有用なメッセージが可能になります。 (このヒントをツイートするにはクリックしてください) 一般的な「404ファイルが見つかりません」、「401権限のないアクセス」、または「500内部サーバーエラー」メッセージは、かなり驚くべきものです。 ユーザーが意図した場所に戻る方法を用意しておくと役立ちます。

一般的なエラータイプごとに独自のカスタムHTMLページを作成できます。 さらに、それぞれを以下のディレクトリに配置する必要があります error_pages ルートディレクトリ。 各エラーページには、そのエラーコード(つまり、 401, 404など)、その後に続く .html 拡大。

これらのエラーページをサイトに実装するには、次のコードを .htaccess ファイル:

ErrorDocument 401 /error_pages/401.html
ErrorDocument 404 /error_pages/404.html
ErrorDocument 500 /error_pages/500.html

 

ページのリダイレクト

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

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

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

 

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

サイト全体または特定のディレクトリのみにパスワード保護を追加できます。 保護されたサイトまたはパスウェイにアクセスするには、ユーザー名とパスワードが必要です。 パスワードで保護されたページにアクセスすると、ブラウザからポップアップが表示されます。 さらに、で使用されるすべてのパスワード .htaccess セキュリティを強化するために暗号化されます。

特定のディレクトリをパスワードで保護するには、そのディレクトリに移動して新しいディレクトリを作成します .htaccess そこにファイルします。 次を追加して、サイト全体をパスワードで保護できます。 .htaccess ルートディレクトリにファイル。 それを念頭に置いて .htaccess メインディレクトリ内のすべてのファイルとサブディレクトリを再帰的にパスワード保護します。

パスワード保護を追加するための基本的な構文は次のとおりです。

AuthName "Authorized Access Only"
AuthUserFile /htpassword-filepath/.htpasswd
AuthTypeディレクティブの基本
有効なユーザーを必要とします

 

AuthName "Authorized Access Only" 保護されたディレクトリの名前を示します。 ログインすると、「許可されたアクセスのみ」がポップアップに表示されます。

AuthUserFile /htpassword-filepath/.htpasswd Apacheにどこに .htpasswd ファイルです。 交換する必要があります /htpassword-filepath/.htpasswd サーバー上の実際のファイルパス .htpasswd.

AuthType Basic Basic HTTP認証が使用されることを示します。 これは、最も一般的なタイプのHTTP認証であり、ほとんどのアプリケーションに適しています。

最後の行、 require valid-userは、ディレクトリにアクセスするためにユーザー名とパスワードが必要であることを示します。 特定のユーザー名が必要な場合は、 require user name。 置換 name 特定のユーザー名が必要です。 これは、特定のユーザーだけがアクセスできるようにするサイトの管理セクションに最もよく使用されます。

これは、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}!^ http://(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ファイルには何が含まれている必要がありますか?

ファイルには、サイトのサーバーにさまざまな指示を与えるルールが含まれている必要があります。 ほぼすべてのWebサイトに.htaccessファイルがあり、中央ディレクトリまたは「ルート」にあることに注意してください。

長所と短所

.htaccessファイルはすべてのリクエストでタイムリーに読み取られることを知って幸せです。 その結果、これらのファイルに加えた変更は即座に有効になります。

これは、通常サーバーの再起動が必要なグローバル設定とは異なります。 また、.htaccessファイルを使用すると、各ユーザーは、多数のユーザーがいるサーバーのアクセス許可をすばやく設定できます。

ただし、大きな問題があります。 すべてのリクエストでサーバーがすべての.htaccessファイルを読み取る必要があるため、かなりの負荷がかかると、中程度から重度のパフォーマンスの問題が発生する可能性があることに注意してください。

そして、それだけではありません。 すべての設定をさまざまなユーザーに分散させると、 複数のセキュリティ問題特に、これらの.htaccessファイルが正しく構成されていない場合。

注意点

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

速度

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

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

セキュリティ

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

htaccessファイルの編集

htaccessファイルの編集.htaccessファイルの編集にはリスクがあることをご存知ですか? これは、削除してはいけないコードを削除できるためです。 また、間違ったコードを追加したり、Webサイトを壊すような間違いを犯したりする可能性もあります。 そうするには これらのリスクを軽減する、htaccessファイルを直接編集する前に、少なくともXNUMXつの予防措置を講じることが重要です。

Webサイトをバックアップして、間違えた場合に以前のバージョンのWebサイトを簡単に復元できるようにすることができます。 一方、公開Webサイトに公開する前に、ステージングWebサイトを使用して編集内容をテストできます。

バックアップの.htaccessファイルを作成してから、コンピューターにダウンロードすることをお勧めします。 これにより、デフォルトの.htaccessファイルでの編集によって問題や問題が発生した場合でも、バックアップファイルを信頼してアップロードできます。

 

結論

サイトのファイルを直接操作する方法を学ぶことが、信頼できるWeb開発者になるための重要なステップであることは周知の事実です。 また、.htaccessファイルは、さまざまなアプリケーションに使用できる単純なファイルであるため、開始するのに最適な場所です。

あなたがあなたのウェブサイトの舞台裏で何が起こっているかを理解し、学ぶたびに、あなたは効果的なウェブマスターになることに近づき、あなたのウェブサイトの機能を合理化して強化する可能性があることに注意してください。

 

著者紹介

アンジェロは20年以上にわたってクリエイティブITの世界に携わってきました。 彼は1998年にDreamweaver、Flash、Photoshopを使用して最初のWebサイトを構築しました。 彼は、HTML / CSS、Flash ActionScript、XMLなどの幅広いプログラミングスキルを学ぶことで、知識と専門知識を広げました。

アンジェロはオーストラリアのシドニーでCIW(Certified Internet Webmasters)プログラムを使用して正式なトレーニングを修了し、コンピューターネットワーキングの中心的な基礎と、それがワールドワイドウェブのインフラストラクチャとどのように関連しているかを学びました。

アンジェロは、Sunlight Mediaの運営とは別に、ウェブとアプリの開発、デジタルマーケティング、その他の技術関連のトピックに関連する有益なコンテンツの作成を楽しんでいます。

1 コメント

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

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

コメントの投稿

コメントはモデレートされます。 あなたのメールは非公開にされます。 必須フィールドは、マークされています *