.htaccessは、Apache HTTP Serverの設定をディレクトリ単位で追加するためのファイルです。URL転送やアクセス制限などに使われますが、すべてのレンタルサーバーで利用できるわけではありません。誤った一行で対象範囲のページが500エラーになることもあります。
触る前に確認したいのはコードではなく、サーバーの方式とファイルを置く場所です。現在の内容を保存し、一つの目的だけを変更して、影響するURLを確かめます。この順番なら、Web上の例をそのまま貼り付ける作業から離れられます。
Apacheの分散設定であり万能な設定ファイルではない
Apache公式の解説では、.htaccessをディレクトリ単位の分散設定ファイルとしています。主設定を直接変更できない利用者でも、許可された範囲でWebサーバーの動作を変えられる仕組みです。共有サーバーや管理型サービスで使われる理由はここにあります。
Nginxなど別のWebサーバーは同じ仕組みを使いません。Apache系でも、事業者が.htaccessを無効にしている場合や、管理画面からだけ設定する項目があります。最初にサーバーの公式マニュアルを確認し、対象プランで利用できる命令と推奨する設定場所を調べます。
主設定を編集できる環境なら、Apache公式は主設定へ記述する方法を勧めています。.htaccessは要求のたびに探索されるため、利用範囲を広げるほど読込処理と権限管理が増えるためです。利用できるから使うのではなく、主設定へ触れない環境で必要な変更を行う手段として考えます。
配置したディレクトリから下へ影響する
.htaccessの命令は、原則としてファイルを置いたディレクトリとその配下へ作用します。公開ディレクトリ直下へ置けばサイト全体に及び、特定の子ディレクトリへ置けば範囲を限定できます。FTP画面で同名ファイルが複数見つかったときは、どれか一つだけが有効とは限りません。
上位ディレクトリの設定へ、下位ディレクトリの設定が重なる場合もあります。意図したURLだけを見ていると、管理画面や画像フォルダーに別の影響が出ても気づけません。変更前に配置場所を記録し、配下に別の.htaccessがないか確認します。
使える命令は、サーバー側のAllowOverrideやAllowOverrideListで制限されます。別サーバーで動いた命令でも、現在の契約では無視されたり500エラーになったりします。設定例の出典だけでなく、自分の環境で許可されているかを事業者の資料で照合する必要があります。
WordPressが管理する範囲と手書き設定を分ける
WordPressは、パーマリンクのための書き換えルールを.htaccessへ保存する構成があります。その範囲へ独自の転送や制限を混ぜると、パーマリンク設定の更新や移転作業で上書きされることがあります。自動生成部分の開始と終了を示すコメントがあれば、その内側を手作業で変更しません。
プラグインもキャッシュやセキュリティの命令を追加する場合があります。誰が作った行か分からない状態で重複する設定を足すと、転送ループやアクセス拒否の原因になります。管理画面で同じ機能が有効になっていないか、制作会社が保守する範囲ではないかを先に確かめます。
独自設定には、目的と追加日をコメントで残すと後から判断しやすくなります。ただし認証情報や社内情報は書きません。WordPressの自動生成部分と独自部分を分け、削除するときの単位も明確にします。
変更は一つずつ行い直後に確認する
作業前に現在のファイルをそのまま保存し、文字コードや改行も不用意に変えないようにします。保存したコピーには日時と対象ドメインを付けます。空のファイルをバックアップとして作るのではなく、動作している直前の内容を戻せることが重要です。
一度に変更する目的は一つにします。HTTPS化・URL転送・アクセス制限を同時に追加すると、失敗した命令を切り分けられません。反映後はトップページだけでなく、対象の深いURLと対象外であるべきURLも確認します。
ブラウザー表示に加えてHTTPの状態コードを見ます。転送なら行き先と回数を確認し、制限なら許可側と拒否側を別環境で試します。キャッシュが結果を隠すこともあるため、CDNやブラウザーの影響を避けた確認も用意します。
500エラーでは推測より先に原本へ戻す
変更直後に広い範囲で500エラーが出たら、新しい行の構文や未許可の命令を疑います。まず保存した原本へ戻し、サイトが復旧するか確認します。表示を戻してから、変更差分と同時刻のWebサーバーのエラーログを調べます。
ファイル名の変更で無効化する方法は、サーバー仕様と影響範囲を理解した場合に限ります。WordPressのパーマリンクや既存のアクセス制限まで同時に消えるからです。緊急時にも原本・変更版・復旧版を区別し、何を戻したか記録します。
作業記録には目的・配置場所・変更差分・確認したURLを残します。切り戻しの結果とエラーログも引き継ぎに必要です。.htaccessを安全に扱う基準は、設定例を多く知ることではなく、どこへ作用する一変更なのかを説明できることです。