
主にこのような設定ができます。
- リダイレクト
- Basic認証。IDとパスワードを指定してWebサイトへのアクセスを制限
- IPアドレスのアクセスを制限
- セキュリティ。ファイルを守る
.htaccessがある場所
WordPressをお使いの場合は大概ここに入っているかと思います。
サイト/public_html/.htaccess
HTMLサイトの場合などでファイルが存在しない場合は、エディタなどに記述後、「.htaccess」で保存すると作成できます。
基本の.htaccessは削除しない
元々.htaccessに書かれてあるコードは削除しません。WordPressやサーバーの情報が記されています。
# BEGIN WordPress # "BEGIN WordPress" から "END WordPress" までのディレクティブ (行) は # 動的に生成され、WordPress フィルターによってのみ修正が可能です。 # これらのマーカー間にあるディレクティブへのいかなる変更も上書きされてしまいます。 <IfModule mod_rewrite.c> RewriteEngine On RewriteBase / RewriteRule ^index\.php$ - [L] RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d RewriteRule . /index.php [L] </IfModule> # END WordPress
バックアップ
.htaccessは1文字間違えただけでサイトが真っ白になったりアクセスできなくなります。設定する前に、FTPソフトやサーバーから.htaccessファイルをバックアップしておくと安心です。
ミラーサイトでテスト
お名前.comではドメインを1円(キャンペーン時は0円!)で取得してミラーサイトを作成しておけば、失敗してもWordPressの初期化だけで済みます。テスト用のドメインは「更新なし」にしておきます。
記述場所
これ↓の上に追記します。
# BEGIN WordPress
良く分からない場合やHTMLサイトの場合は、冒頭に追記します。
尚、# BEGIN WordPress
から# END WordPress
の間は、WordPressのための設定場所になり、プラグインなどで自動的に書き換えられる場合があります。
FTPで編集
末尾には必ず空行を入れます。
冒頭に #
がある行はコメントです。コメントを日本語で書くとエラーになったり、文字化けをする場合があるので半角英数字を使います。
.htaccessファイルをサクラエディタなどで開き、「UTF-8」「BOMなし」で保存したら、FTPソフトで上書きします。
サーバー/ファイルマネージャーで編集
FTPで上書きすると文字化けすることがあるので、慣れるまではサーバーやファイルマネージャーで編集した方が良い場合もあります。
エックスサーバーの場合
設定対象ドメインを選択したら、ホームページ項目にある「.htaccess編集」→コードを追記したら右下にある「確認画面へ進む」→次の画面で「実行する」をクリックします。
ファイルマネージャー
.htaccessにチェックを入れたら、右横にある「編集」ボタンをクリック→追記→「保存する」をクリックします。
注意点
1.文字化けに注意
再確認したら記号が数字で表示されていてびっくり。
RewriteRule .(jpg|png|jpeg|gif)$ – [NC,F,L]
2.使っていないコードを削除
追記を繰り返した結果、重複コードがありましたので削除しました。
まずは、以前に使っていたSimplicityなどの「テーマを高速化するためのコード」を削除しました。また、プラグインを追加すると自動的に書き加えられる場合がありますが、たとえば「EWWW Image Optimizer」は現在は使っていないので削除しました。
# BEGIN EWWWIO # END EWWWIO

参照→.htaccessに2000行書くとApacheの処理が何秒遅くなるか測ってみた Web担当者Forum
3.自動的に追記されたコードは削除しない
テーマや、サーバーの設定時に自動的に追記される.htaccess環境変数は削除しないようにします。
たとえば、エックスサーバーでは「大量コメント・トラックバック制限をOFF」にすると自動的にこのようなコードが追記されます。
SetEnvIf Request_URI ".*" WpCommentNoLimit
国外IPアドレスからのコメント・トラックバック制限をONにすると自動的に追記。
SetEnvIf Request_URI ".*" WpCommentDeny
Xアクセラレータ(Webサイトを高速・安定化させるための機能)を設定すると、自動的に追記されます。尚、サーバーキャッシュ設定を有効にすることでXアクセラレータが有効になります。
SetEnvIf Request_URI ".*" Ngx_Cache_NoCacheMode=off SetEnvIf Request_URI ".*" Ngx_Cache_StaticMode
