これだけで十分!.htaccessで使用する記述のまとめ[後編]
前回.htaccessの設置方法についてお話しましたが、今回はよくある記述をまとめてみました。
正直これ以上はあまり使用しないような気がします。
URLの正規化
http;//www.example.com/とhttp://example.com/は同じページですが、URLがばらばらだとGoogleなどの検索エンジンには別ページ扱いされてしまうことがあります。
ページパワーを集中させるため、SEO対策としてwwwなしでアクセスがあった場合、wwwありのURLに変更させましょう
[html]
RewriteEngine On
RewriteCond %{HTTP_HOST} !^test.com$ [NC]
RewriteRule ^(.*)$ http://test.com/$1 [L,R=301]
[/html]
RewriteEngine On
RewriteCond %{HTTP_HOST} !^test.com$ [NC]
RewriteRule ^(.*)$ http://test.com/$1 [L,R=301]
[/html]
上記の「test.com」をご使用のドメイン名に変更してください。
外部からの画像アクセスの禁止
外部サイトから勝手に自分のサイトの画像を使用されるのを防ぐことができます。
[html]
RewriteEngine On
RewriteCond %{HTTP_REFERER} !^http://(.+\.)?test\.com/ [NC]
RewriteCond %{HTTP_REFERER} !^$
RewriteRule ./images/*\.(jpe?g|gif|bmp|png)$ /img/noimage.jpg [L]
[/html]
RewriteEngine On
RewriteCond %{HTTP_REFERER} !^http://(.+\.)?test\.com/ [NC]
RewriteCond %{HTTP_REFERER} !^$
RewriteRule ./images/*\.(jpe?g|gif|bmp|png)$ /img/noimage.jpg [L]
[/html]
独自のエラーページ
404ページなどサーバーのデフォルトではダサいかもしれません。サイトにあったエラーページをデザインできます。
[html]
ErrorDocument 400 /errors/400.html # 要求の形式が正しくありません
ErrorDocument 401 /errors/401.html # Basic認証などのパスワード認証エラー
ErrorDocument 403 /errors/403.html # アクセス拒否
ErrorDocument 404 /errors/404.html # ファイルが見つからない
ErrorDocument 500 /errors/500.html # CGIエラー
[/html]
ErrorDocument 400 /errors/400.html # 要求の形式が正しくありません
ErrorDocument 401 /errors/401.html # Basic認証などのパスワード認証エラー
ErrorDocument 403 /errors/403.html # アクセス拒否
ErrorDocument 404 /errors/404.html # ファイルが見つからない
ErrorDocument 500 /errors/500.html # CGIエラー
[/html]
indexファイルの表示を禁止
スラッシュ区切りでアクセスがあった場合、たいてい「index.html」が読み込まれますが、ファイルがない場合、ディレクトリの一覧が表示されてしまいセキュアではありません。
下記はファイルの一覧を表示させない記述です。必ず指定したほうがいいです。
[html]
Options -Indexes
[/html]
Options -Indexes
[/html]
その他にも便利な記述があればコメントください(^o^)