====== .htaccess ====== ===== sample ===== ==== Code ==== RewriteEngine on RewriteRule ^3b http://ensoku.dyndns.org [R=301,L] RewriteRule ^3b/(.*)$ http://ensoku.dyndns.org/$1 [R=301,L] ## Add Expires headers ExpiresActive On ExpiresDefault "access plus 1 week" ## Compress components with gzip SetOutputFilter DEFLATE BrowserMatch ^Mozilla/4 gzip-only-text/html BrowserMatch ^Mozilla/4\.0[678] no-gzip BrowserMatch \bMSI[E] !no-gzip !gzip-only-text/html SetEnvIfNoCase Request_URI \.(?:gif|jpe?g|png)$ no-gzip dont-vary Header append Vary User-Agent env=!dont-vary ## Configure entity tags FileETag none ## SetEnvIf Referer "180.26.239.162" BadReferer order allow,deny allow from all deny from .ukrtel.net Deny from env=BadReferer ==== 解説 ==== RewriteRule ^3b http://ensoku.dyndns.org [R=301,L] RewriteRule ^3b/(.*)$ http://ensoku.dyndns.org/$1 [R=301,L] * URIに3bの文字列が含まれていれば、http://ensoku.dyndns.orgに転送する * その際の転送理由は「301(=Moved Permanently、永久に移動した)」となる * 各行のルールが適用されれば、それ以降のルールは適用しない「L:Last」 ## Add Expires headers ExpiresActive On ExpiresDefault "access plus 1 week" * キャッシュコントロールを有効にする * 全てのページで1週間キャッシュを保持する ⇒更新されてもその期間は古い内容が適用されるので、更新の頻繁なページや動的なページには不向き * 画像ファイルなど、特定のファイルタイプを個別で指定する場合は、以下のように記載できる ExpiresByType ファイルタイプ "(access|modification) plus N (minutes|days|weeks|months|years|)" ## Compress components with gzip SetOutputFilter DEFLATE BrowserMatch ^Mozilla/4 gzip-only-text/html BrowserMatch ^Mozilla/4\.0[678] no-gzip BrowserMatch \bMSI[E] !no-gzip !gzip-only-text/html SetEnvIfNoCase Request_URI \.(?:gif|jpe?g|png)$ no-gzip dont-vary Header append Vary User-Agent env=!dont-vary * Apacheのmod_deflateモジュールで圧縮転送を有効にする * IE、Mozilla系のみ圧縮を行う * gif jpg png は圧縮しない(元々圧縮されているものなので、効果薄) ## Configure entity tags FileETag none * ETagにはi-node情報が含まれているのでセキュリティ的に出力しない方が良い * ロードバランサ - 複数WEB - ファイルサーバなどの環境ではETagは経路毎に変わるので、キャッシュが有効に働かない ====== Tips ====== ===== 特定のファイルを特定IPでアクセス制御 ===== order deny,allow deny from all allow from IPアドレス ==== 特定ファイルを特定IPで許可 ==== order deny,allow deny from all allow from 123.123.123.123 allow from 124.124.124.124 ==== 特定ファイル名を特定IPで許可 ==== order deny,allow deny from all allow from IP ADDRESS ==== 拡張子がjpg、gif、pngのファイルを特定IPで許可 ==== order deny,allow deny from all allow from IP ADDRESS ==== 特定ファイルを特定IPで拒否 == order allow,deny allow from all deny from IPアドレス ==== 特定ファイルをX-Forwarded-Forで許可 ==== SetEnvIf X-Forwarded-For "123.123.123.123" allowed order deny,allow deny from all allow from env=allowed