.htaccess

.htaccess (ハイパーテキストアクセス) ファイルは、いくつかのWeb サーバーでサポートされているディレクトリレベルの構成ファイルであり、 URL リダイレクトURL 短縮アクセス制御(さまざまなWeb ページやファイルに対する) など、 Webサイトのアクセス問題構成に使用されます。もっと。ファイル名の前に「ドット」(ピリオドまたはピリオド) を付けると、 Unixベースの環境では隠しファイルになります。

サイトには複数の.htaccessファイルが存在する可能性があり、ファイルは Web ツリー内 (つまり、ディレクトリとそのサブディレクトリ内) に配置されるため、分散構成ファイルとも呼ばれます。[1]

.htaccesshttpd.confファイルは、そのファイルが存在するディレクトリまたはすべてのサブディレクトリに対するサーバーのグローバル構成ファイル ( のような) のサブセットとして機能します。[2]

の本来の目的は、その名前に反映されていますが、たとえばWorld Wide Web.htaccessコンテンツへのアクセスにパスワードを要求するなど、ディレクトリごとのアクセス制御を可能にすることでしたただし、より一般的には、ファイルは、コンテンツ タイプ、文字セット共通ゲートウェイ インターフェイスハンドラーなど、 他の多くの構成設定を定義またはオーバーライドします。.htaccess

形式と言語

.htaccessファイルは、Perl 互換正規表現(PCRE) 言語のApache Directivesバリアントで作成されます基本的な PCRE を学習すること自体が、これらのファイルの操作を習得するのに役立ちます。

歴史的な理由により、ネイティブ グローバル設定が非常に異なるOracle iPlanet Web Server [4]Zeus Web Server などの Web サーバーで使用する場合でも、ファイルの形式はApache HTTP サーバーのグローバル構成ファイル[3].htaccessの限定されたサブセットです。設定ファイル。 httpd.conf

よくある使い方

認可認証
.htaccess ファイルはディレクトリのセキュリティ制限を指定するためによく使用されるため、ファイル名は " access" となります。この.htaccessファイルには、有効なユーザー名とそのパスワードを.htpasswd保存するファイルが付属していることがよくあります[5]
URL書き換え
サーバーは、長くて包括的すぎる URL を短くて覚えやすい URL に書き換える.htaccessためによく使用します。
ブロッキング(アクセス制御)
IP アドレスまたはドメインによってユーザーをブロックするには、許可/拒否を使用します。悪質なボット、リッパー、リファラーをブロックするためにも使用されます。Web クローラーによるアクセスを制限するためによく使用されます
SSI
サーバー側のインクルードを有効にします
ディレクトリリスト
特定の Web ページが指定されていない場合にサーバーがどのように反応するかを制御します。
カスタマイズされたエラー応答
サーバー側のエラーが発生したときに表示されるページを変更します。たとえば、HTTP 404 Not Found、またはページが移動したことを検索エンジンに示すためにHTTP 301 Moved Permanently です[6]
MIME タイプ
さまざまな種類のファイルを処理する方法をサーバーに指示します。
キャッシュ制御
.htaccessファイルを使用すると、サーバーはWeb ブラウザープロキシによるキャッシュを制御してWeb サイトを高速化し、[7]帯域幅の使用量、サーバーの負荷、知覚される遅延を軽減できますまた、Web ページのリソースにキャッシュ期間を追加します。これにより、ページに再度アクセスすると、サーバーにリソースを再度要求するのではなく、指定された期間が経過するまで要素がブラウザのキャッシュから再ロードされます。.htaccess
HTTPSHSTS
Apache サーバーでの HTTPS と HSTS の両方の実装は、ファイルに記載されている正しいURL 書き換えとヘッダー情報に大きく依存します.htaccessHTTPS または HSTS の展開中にファイル内の構文が正しくないと、実装の失敗につながります。

利点

即時変更
ファイルはリクエストごとに読み取られるため.htaccess、新しい設定を有効にするためにサーバーを再起動する必要があるメイン構成ファイルとは対照的に、これらのファイルに加えられた変更はすぐに有効になります。
非特権ユーザー
共有 Web ホスティングなど、複数のユーザーがいるサーバーの場合、個々のユーザーがサイト構成を変更できるようにすることが望ましいことがよくあります。ファイルを使用すると.htaccess、メイン サーバーの構成ファイルを変更する必要がないため、特権のないユーザーによるこのような個別化が可能になります。[8]

短所

セキュリティとパフォーマンス上の理由から、メイン サーバー設定ファイルhttpd.conf[9]を使用して Apache を制御することがよく推奨されます: [10]

パフォーマンスの損失
HTTP リクエストごとに、 を使用するときに親ディレクトリへの追加のファイル システム アクセスがあり、ファイルの保持が許可されている親ディレクトリに.htaccess存在するファイルがあるかどうかを確認しますこのパフォーマンスの低下が懸念される場合は、プログラムでディレクティブをからに移行することができます。[11].htaccess.htaccess.htaccesshttpd.conf
安全
適切に設定されていない場合、個々のユーザーにサーバーの構成の変更を許可すると、セキュリティ上の懸念が生じる可能性があります。[12]
構文
.htaccess通常、構文エラーに非常に敏感です。このため、スペルミスがあるとサーバーエラーが発生し、ディレクトリ内の Web リソースにエラーが.htaccessまったく表示されなくなる可能性があります。

大衆文化において

インターネット文化のテーマを探求する2020 年のビデオ ゲームMackerelmedia Fishの一部は、Web サイトのオープン.htaccessディレクトリに直接実装されました。[13]

こちらも参照

参考文献

  1. ^ Apache HTTP サーバー チュートリアル: .htaccess ファイル - Apache.org のガイド。
  2. ^ "AllowOverride ディレクティブ" . 2009 年 3 月 2 日に取得
  3. ^ "設定ファイル" . 2009 年 3 月 2 日に取得
  4. ^ 「.htaccess ファイルの使用」、Oracle.com
  5. ^ "Apache チュートリアル: パスワード形式" . 2009 年 3 月 2 日に取得
  6. ^ "ウェブマスター ツール ヘルプ: 301 リダイレクト" . 2012 年 3 月 27 日に取得
  7. ^ "Web サイトを高速化するために WordPress htaccess ファイルを作成および編集する方法". WPエンライト2017年7月29日。2017-09-12 のオリジナルからアーカイブ2017 年 9 月 12 日に取得
  8. ^ "Apache チュートリアル: .htaccess ファイルを使用する場合 (使用しない場合)" . 2008 年 1 月 12 日に取得
  9. ^ "設定ファイル - Apache HTTP サーバー" . 2008 年 1 月 12 日に取得
  10. ^ 「.htaccess ファイルを使用しない場合」. httpd.apache.org 2009 年 9 月 2 日に取得
  11. ^ ".htaccess を httpd.conf エントリに変換する方法".
  12. ^ "システム設定の保護" . 2009 年 3 月 2 日に取得
  13. ^ モートン、ローレン (2020-03-30). 「放棄された Web サイトを探索するこの奇抜な魚の ARG を見てください。」ロック、ペーパー、ショットガン2020年8月20日に取得

外部リンク

  • Apache Docs チュートリアル: .htaccess ファイル