.htaccessは、URLの転送、アクセス制限、エラーページなどを設定するファイルです。Apache系のレンタルサーバーで、利用者がサイトごとの動作を変えるために使われます。WordPressのパーマリンク設定で、自動的に作られていることもあります。

ファイル名は先頭に点が付いた.htaccessです。FTPソフトでは隠しファイルとして見えない場合があります。編集が必要になったら、まず既存ファイルをダウンロードして保存し、サーバーの公式手順に対応する設定だけを追加します。誤った一行でも500エラーになるため、元の内容へ戻せることが大切です。

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のパーマリンクや既存のアクセス制限まで同時に消えるからです。緊急時にも原本・変更版・復旧版を区別し、何を戻したか記録します。

なお、元ファイルのコピーを.htaccess.bakなどの名前で公開フォルダーに置くと、設定内容を外部から読まれる可能性があります。バックアップはパソコンや公開領域外に保存する方が安全です。管理画面で同じ設定ができるなら、無理に.htaccessを手編集する必要はありません。