もっと詳しく

.htaccessファイルの簡単なチートシートは次のとおりです。

ディレクトリブラウジングを有効にする

Options +Indexes
## block a few types of files from showing
IndexIgnore *.wmv *.mp4 *.avi

ディレクトリブラウジングを無効にする

エラーメッセージをカスタマイズする

ErrorDocument 403 /forbidden.html
ErrorDocument 404 /notfound.html
ErrorDocument 500 /servererror.html

SSIをHTML/SHTMLで動作させる

AddType text/html .html
AddType text/html .shtml
AddHandler server-parsed .html
AddHandler server-parsed .shtml
# AddHandler server-parsed .htm

デフォルトページの変更(順序に従います!)

DirectoryIndex myhome.htm index.htm index.php

ユーザーによるサイトへのアクセスをブロックする

<limit GET POST PUT>
order deny,allow
deny from 202.54.122.33
deny from 8.70.44.53
deny from .spammers.com
allow from all
</limit>

LANユーザーのみを許可する

order deny,allow
deny from all
allow from 192.168.0.0/24

訪問者を新しいページ/ディレクトリにリダイレクトする

Redirect oldpage.html http://www.domainname.com/newpage.html
Redirect /olddir http://www.domainname.com/newdir/

特定のリファラーからサイトをブロックする

RewriteEngine on
RewriteCond %{HTTP_REFERER} site-to-block.com [NC]
RewriteCond %{HTTP_REFERER} site-to-block-2.com [NC]
RewriteRule .* - [F]

ホットリンク/帯域幅ホギングをブロックする

RewriteEngine on
RewriteCond %{HTTP_REFERER} !^$
RewriteCond %{HTTP_REFERER} !^http://(www.)?mydomain.com/.*$ [NC]
RewriteRule .(gif|jpg)$ - [F]

「盗むのは悪い」というメッセージも表示したいですか?

ホットリンクブロックコードの下にこれを追加します。

RewriteRule .(gif|jpg)$ http://www.mydomain.com/dontsteal.gif [R,L]

.htaccess(またはその他のファイル)の表示を停止します

<files file-name>
order allow,deny
deny from all
</files>

500エラーを回避する

# Avoid 500 error by passing charset
AddDefaultCharset utf-8

ディレクトリでCGIアクセスを許可する

Options +ExecCGI
AddHandler cgi-script cgi pl
# To enable all scripts in a directory use the following
# SetHandler cgi-script

スクリプト拡張機能の変更

AddType application/x-httpd-php .gne

gne PHPファイルとして扱われるようになります! 同様に、CGIファイルなどのx-httpd-cgi。

MD5ダイジェストを使用する

パフォーマンスが低下する可能性がありますが、それが問題にならない場合は、これをオンにすることをお勧めします。

CheckSpellingディレクティブ

Jens Meiertから:CheckSpellingは、単純なスペルミスを修正します(たとえば、誰かが文字を忘れた場合や、文字が間違っている場合など)。 htaccessファイルにCheckSpellingOnを追加するだけです。

ContentDigestディレクティブ

Apacheコア機能のドキュメントにあるように、€œこのディレクティブは、RFC1864またはRFC2068で定義されているContent-MD5ヘッダーの生成を可能にします。 Content-MD5ヘッダーは、エンティティ本体のエンドツーエンドのメッセージ整合性チェック(MIC)を提供します。 プロキシまたはクライアントは、転送中のエンティティ本体の偶発的な変更を検出するために、このヘッダーをチェックする場合があります。

メッセージダイジェストはリクエストごとに計算されるため、サーバーでパフォーマンスの問題が発生する可能性があることに注意してください(値はキャッシュされません)。 Content-MD5は、コアによって提供されるドキュメントに対してのみ送信され、モジュールによっては送信されません。 たとえば、SSIドキュメント、CGIスクリプトからの出力、およびバイト範囲の応答には、このヘッダーがありません。

これをオンにするには、ContentDigestをオンにするだけです。

Gzip保存帯域幅を有効にする

# BEGIN GZIP
<ifmodule mod_deflate.c>
# Combine the below two lines - I've split it up for presentation
AddOutputFilterByType DEFLATE text/text text/html text/plain text/xml text/css
  application/x-javascript application/javascript
</ifmodule>
# END GZIP

magic_quotes_gpcをオフにします

# Only if you use PHP
<ifmodule mod_php4.c>
php_flag magic_quotes_gpc off
</ifmodule>

Expiresヘッダーを設定し、Cache-Controlを有効にします

<ifmodule mod_expires.c>
  ExpiresActive On
  ExpiresDefault "access plus 1 seconds"
  ExpiresByType text/html "access plus 7200 seconds"
  ExpiresByType image/gif "access plus 518400 seconds"
  ExpiresByType image/jpeg "access plus 518400 seconds"
  ExpiresByType image/png "access plus 518400 seconds"
  ExpiresByType text/css "access plus 518400 seconds"
  ExpiresByType text/javascript "access plus 216000 seconds"
  ExpiresByType application/x-javascript "access plus 216000 seconds"
</ifmodule>
 
<ifmodule mod_headers.c>
  # Cache specified files for 6 days
  <filesmatch ".(ico|flv|jpg|jpeg|png|gif|css|swf)$">
  Header set Cache-Control "max-age=518400, public"
  </filesmatch>
  # Cache HTML files for a couple hours
  <filesmatch ".(html|htm)$">
  Header set Cache-Control "max-age=7200, private, must-revalidate"
  </filesmatch>
  # Cache PDFs for a day
  <filesmatch ".(pdf)$">
  Header set Cache-Control "max-age=86400, public"
  </filesmatch>
  # Cache Javascripts for 2.5 days
  <filesmatch ".(js)$">
  Header set Cache-Control "max-age=216000, private"
  </filesmatch>
</ifmodule>

The post htaccessチートシート–オタク日記 appeared first on Gamingsym Japan.