.htaccess ちょっとした知識

.htaccess ちょっとした知識
.htaccess では、フォルダーのパスワード保護、ユーザーの自動リダイレクト、エラー ページのカスタマイズ、ファイル拡張子の変更、特定のユーザー IP アドレスのブロック、特定の IP アドレスのみの許可、ディレクトリ リストの停止、他のファイルのインデックス ファイルとしての使用など、さまざまな操作を実行できます。
1. はじめに ファイル名.htaccess 属性 644 (RW-R–R–)
htaccess は、それが配置されているディレクトリの下にあるすべてのサブディレクトリに影響します。ほとんどのコンテンツは 1 行に収める必要があり、折り返さないでください。そうしないとエラーが発生します。
2. エラー文書
公式文書: ErrorDocument ディレクティブ
エラードキュメントコードドキュメント

エラードキュメント 400 /errors/badrequest.html
エラードキュメント 404 http://yoursite/errors/notfound.html
エラードキュメント 401「認証が必要です」
(以下の内容に二重引用符がある場合は、\" としてエスケープする必要があることに注意してください)
一般的な HTTP ステータス コード
成功したクライアントリクエスト
200 大丈夫です
201 作成済み
202 承認済み
203 非権威情報
204 コンテンツなし
205 コンテンツをリセット
206 部分的なコンテンツ
クライアントリクエストがリダイレクトされました
300 複数選択問題
301 永久に移動
302 一時的に移動
303 その他を見る
304 変更されていません
305 プロキシを使用する
クライアントリクエストエラー
400 不正なリクエスト
401 認証が必要です
402 支払いが必要です (まだ使用されていません)
403 禁止
404 見つかりません
405 メソッドは許可されていません
406 受け入れられません (エンコード)
407 プロキシ認証が必要です
408 リクエストがタイムアウトしました
409 競合するリクエスト
410 消えた
411 コンテンツの長さが必要です
412 前提条件が失敗しました
413 リクエストエンティティが長すぎます
414 リクエスト URI が長すぎます
415 サポートされていないメディアタイプ
サーバーエラー
500 内部サーバーエラー
501 実装されていません
502不正なゲートウェイ
503 サービスは利用できません
504 ゲートウェイタイムアウト
505 HTTP バージョンがサポートされていません
3. パスワード保護
公式文書: 認証、承認、アクセス制御
パスワードファイルは.htpasswdであると仮定します
AuthUserFile /usr/local/safedir/.htpasswd (ここではフルパス名を使用する必要があります)
AuthName パスワードを入力
認証タイプ 基本
一般的な検証方法は 2 つあります。
ユーザーwindixを要求する
(ユーザーwindixのみがログインできます)
有効なユーザーを要求する
(正当なユーザーであればログインできます)
ヒント: htpasswd コマンド (Apache 組み込み) を使用してパスワード ファイルを生成する方法
最初の世代ではパスワードファイルの作成が必要です
htpasswd -c .htpasswd ユーザー1
後で新しいユーザーを追加する
htpasswd .htpasswd ユーザー2
4. htaccess 経由で SSI を有効にする
追加タイプ text/html .shtml
AddHandler サーバー解析 .shtml
オプション インデックス FollowSymLinks 含む
ディレクトリインデックス index.shtml index.html
5. IPによるユーザーのブロック
注文 許可、拒否
123.45.6.7 からの拒否
12.34.5 からの拒否 (クラス C アドレス全体)
すべてを許可する
6. リファラーによるユーザー/サイトのブロック リファラーによるユーザー/サイトのブロックには mod_rewrite モジュールが必要です 例 1. 単一のリファラーをブロックする: badsite.com
RewriteEngineオン
# オプション +FollowSymlinks
書き換え条件 %{HTTP_REFERER} badsite\.com [NC]
書き換えルール .* – [F]
例 2. 複数のリファラーをブロックする: badsite1.com、badsite2.com
RewriteEngineオン
# オプション +FollowSymlinks
書き換え条件 %{HTTP_REFERER} badsite1\.com [NC、OR]
書き換え条件 %{HTTP_REFERER} badsite2\.com
書き換えルール .* – [F]
[NC] – 大文字と小文字を区別しない
[F] – 403 禁止
上記のコードでは、「Options +FollowSymlinks」ステートメントがコメント アウトされていることに注意してください。サーバーの httpd.conf セクションで FollowSymLinks が設定されていない場合は、この文を追加する必要があります。そうしないと、「500 内部サーバー エラー」エラーが発生します。
7. 悪質なボットとサイトリッパー(オフラインブラウザとも呼ばれます)をブロックする 悪質なボットとオフラインブラウザをブロックするには、mod_rewrite モジュールが必要です 悪質なボットとは?たとえば、スパムメール アドレスを取得するボットや robots.txt に準拠していないボット(Baidu など)などです。
HTTP_USER_AGENTに基づいて決定できます。
(しかし、「zhongsou.com」のように、エージェントを「Mozilla/4.0 (compatible; MSIE 5.5; Windows NT 5.0)」に設定する恥知らずなサイトも存在します。これはあまりにも悪質で、私たちには何もできません。)
RewriteEngine オン
RewriteCond %{HTTP_USER_AGENT} ^BlackWidow [または]
RewriteCond %{HTTP_USER_AGENT} ^Bot\ mailto:[email protected] [または]
書き換え条件 %{HTTP_USER_AGENT} ^ChinaClaw [または]
RewriteCond %{HTTP_USER_AGENT} ^カスタム [または]
書き換え条件 %{HTTP_USER_AGENT} ^DISCo [または]
RewriteCond %{HTTP_USER_AGENT} ^Download\ Demon [または]
RewriteCond %{HTTP_USER_AGENT} ^eCatch [または]
RewriteCond %{HTTP_USER_AGENT} ^EirGrabber [または]
RewriteCond %{HTTP_USER_AGENT} ^EmailSiphon [または]
RewriteCond %{HTTP_USER_AGENT} ^EmailWolf [または]
RewriteCond %{HTTP_USER_AGENT} ^Express\ WebPictures [または]
RewriteCond %{HTTP_USER_AGENT} ^ExtractorPro [または]
書き換え条件 %{HTTP_USER_AGENT} ^EyeNetIE [または]
RewriteCond %{HTTP_USER_AGENT} ^FlashGet [または]
書き換え条件 %{HTTP_USER_AGENT} ^GetRight [または]
RewriteCond %{HTTP_USER_AGENT} ^GetWeb! [または]
RewriteCond %{HTTP_USER_AGENT} ^Go!Zilla [または]
RewriteCond %{HTTP_USER_AGENT} ^了解 [OR]
書き換え条件 %{HTTP_USER_AGENT} ^GrabNet [または]
RewriteCond %{HTTP_USER_AGENT} ^Grafula [または]
RewriteCond %{HTTP_USER_AGENT} ^HMView [または]
書き換え条件 %{HTTP_USER_AGENT} HTTrack [NC、OR]
RewriteCond %{HTTP_USER_AGENT} ^Image\ ストリッパー [または]
RewriteCond %{HTTP_USER_AGENT} ^Image\ Sucker [OR]
RewriteCond %{HTTP_USER_AGENT} Indy\ ライブラリ [NC、OR]
書き換え条件 %{HTTP_USER_AGENT} ^InterGET [または]
RewriteCond %{HTTP_USER_AGENT} ^インターネット\ Ninja [または]
書き換え条件 %{HTTP_USER_AGENT} ^JetCar [または]
RewriteCond %{HTTP_USER_AGENT} ^JOC\ Web\ Spider [または]
RewriteCond %{HTTP_USER_AGENT} ^larbin [または]
RewriteCond %{HTTP_USER_AGENT} ^LeechFTP [または]
RewriteCond %{HTTP_USER_AGENT} ^Mass\ ダウンローダー [または]
RewriteCond %{HTTP_USER_AGENT} ^MIDown\ ツール [または]
RewriteCond %{HTTP_USER_AGENT} ^Mister\ PiX [または]
RewriteCond %{HTTP_USER_AGENT} ^Navroad [または]
RewriteCond %{HTTP_USER_AGENT} ^NearSite [または]
書き換え条件 %{HTTP_USER_AGENT} ^NetAnts [または]
RewriteCond %{HTTP_USER_AGENT} ^NetSpider [または]
RewriteCond %{HTTP_USER_AGENT} ^Net\ ヴァンパイア [OR]
RewriteCond %{HTTP_USER_AGENT} ^NetZIP [または]
書き換え条件 %{HTTP_USER_AGENT} ^Octopus [または]
RewriteCond %{HTTP_USER_AGENT} ^オフライン\ エクスプローラー [または]
RewriteCond %{HTTP_USER_AGENT} ^オフライン\ ナビゲーター [または]
RewriteCond %{HTTP_USER_AGENT} ^PageGrabber [または]
RewriteCond %{HTTP_USER_AGENT} ^Papa\ Foto [OR]
RewriteCond %{HTTP_USER_AGENT} ^pavuk [または]
RewriteCond %{HTTP_USER_AGENT} ^pcBrowser [または]
RewriteCond %{HTTP_USER_AGENT} ^RealDownload [または]
RewriteCond %{HTTP_USER_AGENT} ^ReGet [または]
RewriteCond %{HTTP_USER_AGENT} ^SiteSnagger [または]
RewriteCond %{HTTP_USER_AGENT} ^SmartDownload [または]
RewriteCond %{HTTP_USER_AGENT} ^SuperBot [または]
RewriteCond %{HTTP_USER_AGENT} ^SuperHTTP [または]
RewriteCond %{HTTP_USER_AGENT} ^Surfbot [または]
書き換え条件 %{HTTP_USER_AGENT} ^tAkeOut [または]
RewriteCond %{HTTP_USER_AGENT} ^Teleport\ Pro [または]
書き換え条件 %{HTTP_USER_AGENT} ^VoidEYE [または]
RewriteCond %{HTTP_USER_AGENT} ^Web\ Image\ Collector [または]
RewriteCond %{HTTP_USER_AGENT} ^Web\ Sucker [OR]
RewriteCond %{HTTP_USER_AGENT} ^WebAuto [または]
RewriteCond %{HTTP_USER_AGENT} ^WebCopier [または]
RewriteCond %{HTTP_USER_AGENT} ^WebFetch [または]
書き換え条件 %{HTTP_USER_AGENT} ^WebGo\ IS [OR]
RewriteCond %{HTTP_USER_AGENT} ^WebLeacher [または]
RewriteCond %{HTTP_USER_AGENT} ^WebReaper [または]
RewriteCond %{HTTP_USER_AGENT} ^WebSauger [または]
RewriteCond %{HTTP_USER_AGENT} ^Website\ eXtractor [または]
RewriteCond %{HTTP_USER_AGENT} ^Website\ Quester [または]
RewriteCond %{HTTP_USER_AGENT} ^WebStripper [または]
RewriteCond %{HTTP_USER_AGENT} ^WebWhacker [または]
RewriteCond %{HTTP_USER_AGENT} ^WebZIP [または]
RewriteCond %{HTTP_USER_AGENT} ^Wget [または]
RewriteCond %{HTTP_USER_AGENT} ^Widow [または]
RewriteCond %{HTTP_USER_AGENT} ^WWWOFFLE [または]
RewriteCond %{HTTP_USER_AGENT} ^Xaldon\ WebSpider [または]
書き換え条件 %{HTTP_USER_AGENT} ^Zeus
書き換えルール ^.* – [F,L]
[F] – 403 禁止
[L] – リンク
8. デフォルトのディレクトリページを変更する
ディレクトリインデックス index.html index.php index.cgi index.pl
9. 単一ファイルへのリダイレクト
/old_dir/old_file.html を http://yoursite.com/new_dir/new_file.html にリダイレクトします
ディレクトリ全体
/old_dir を http://yoursite.com/new_dir にリダイレクトします
効果: ディレクトリを移動するのと同じ
http://yoursite.com/old_dir -> http://yoursite.com/new_dir
http://yoursite.com/old_dir/dir1/test.html -> http://yoursite.com/new_dir/dir1/test.html
ヒント: ユーザー ディレクトリの使用時にリダイレクトが機能しない問題の解決方法 http://mysite.com/~windix などの Apache のデフォルトのユーザー ディレクトリを使用している場合、http://mysite.com/~windix/jump にリダイレクトすると、次のリダイレクトが機能しないことがわかります。
リダイレクト / ジャンプ http://www.google.com
正しい方法は変化すること
リダイレクト /~windix/jump http://www.google.com
(出典: 「サイト」内の .htaccess リダイレクトがリダイレクトされない: なぜでしょうか?)

10. .htaccessファイルの閲覧を禁止する
注文 許可、拒否
すべてを拒否する
11. MIMEタイプの追加
AddType アプリケーション/x-shockwave-flash swf
ヒント: ダウンロードを促すには、タイプを application/octet-stream に設定してください
12. 画像やその他のファイルタイプのホットリンクを防止するホットリンク防止にはmod_rewriteモジュールが必要
RewriteEngineオン
書き換え条件 %{HTTP_REFERER} !^$
書き換え条件 %{HTTP_REFERER} !^http://(www/\.)?mydomain.com/.*$ [NC]
書き換えルール \.(gif|jpg|js|css)$ – [F]
分析:
HTTP_REFERER が空でない場合(ソースは直接接続ではなく別のサイトです)、HTTP_REFERER が (www.)mydomain.com で始まっていない場合(大文字と小文字を区別しません [NC])(ソースはこのサイトではありません)
.gif/.jpg/.js/.css で終わるすべてのファイルに対して 403 Forbidden エラーを返す [F]
次の例に示すように、応答を指定することもできます。
書き換えルール \.(gif|jpg)$ [R,L]
[R] – リダイレクト
[L] – リンク
13. ディレクトリリストの防止
インデックス無視*
インデックス無視 *.jpg *.gif
ヒント:
ディレクトリ一覧表示を許可する: オプション + インデックス
ディレクトリ一覧を無効にする: オプション -Indexes
プロンプト情報を表示: HEADER ファイル、README ファイル

<<:  inmotionhostingホスト紹介

>>:  ixwebhosting 専用 IP と共有 IP スイッチング

推薦する

Glide サーバー: $15/年/512MB メモリ/30GB SSD スペース/20TB トラフィック/2 IP/OpenVZ/カナダ

カナダのホスティングプロバイダーである Glide Servers は、設立されて 1 年以上になり...

MSNタイランドはどうですか? MSN タイのレビューとウェブサイト情報

MSN タイランドとは何ですか? MSN タイは、Microsoft が作成したポータル Web サ...

IUはどうですか? IUのレビューとウェブサイト情報

IUとは何ですか? IU(本名:イ・ジエン、이지은、イ・ジエン)は、「国民の妹」として知られる韓国の...

Maple Leaf Hosting 1GB メモリ KVM VPS 香港 CN2 シンプルレビュー

Maple Leaf Host KVM VPS の詳細: Maple Leaf Host: 42 元...

タリン工科大学はどうですか?タリン工科大学のレビューとウェブサイト情報

タリン工科大学とは何ですか?タリン工科大学は、エストニアの公立科学技術大学です。1918 年に設立さ...

Wesco Financialはどうですか?ウェスコファイナンシャルカンパニーのレビューとウェブサイト情報

Wesco Financial Corporation のウェブサイトは何ですか?ウェスコ ファイナ...

専用: 月額 35 ドル/E3-1270/8GB メモリ/1TB ハード ドライブ/10TB トラフィック/DDOS/ロサンゼルス/ダラス/シカゴ

アメリカの老舗企業であるDedicatedは、アメリカのVPSや専用サーバーなどを提供しており、主に...

連邦材料試験開発研究所についてはどうですか?連邦材料試験開発研究所のレビューとウェブサイト情報

連邦材料試験開発研究所とは何ですか?連邦材料試験開発研究所 (EMPA; Eidgenössisch...

Citrixはどうですか? Citrix のレビューとウェブサイト情報

Citrix とは何ですか? Citrix Systems は、1989 年に設立され、米国フロリダ...

ヴァローナチョコレートはいかがですか?ヴァローナチョコレートのレビューとウェブサイト情報

ヴァローナチョコレートのウェブサイトとは何ですか?ヴァローナ チョコレートは世界で最も有名な高級チョ...

DMIT 2GB RAM SSD ハードドライブ 30Mbps 帯域幅 ロサンゼルス CN2 GIA KVM VPS レビュー

詳細: DMIT: ロサンゼルスの CN2 GIA VPS、30Mbps-1Gbps の帯域幅、最低...

AkkoCloud: 99元/月/1GBメモリ/10GB SSDスペース/1TBトラフィック/300Mbps/KVM/ロサンゼルスCN2 GIA

AkkoCloud は最近設立された中国企業で、主にロサンゼルス CN2 GIA KVM VPS ...

モスクワ中国新聞はどうですか?モスクワの中国ニュースレビューとウェブサイト情報

「モスクワ中国ニュース」のウェブサイトとは何ですか?モスクワの中国語新聞は、ロシアで有名な総合中国語...