.htaccess生成
サイト移転や常時SSL化、公開前のテストサイトの保護など、.htaccess を書く場面で。必要な項目にチェックを入れるだけで、説明コメント付きのファイルができます。
🔒 入力内容はお使いのブラウザ内だけで処理され、サーバーには送信されません。
リダイレクト
アクセス制限
その他の設定
パスワードを含むすべての入力はこのブラウザの中だけで処理され、サーバーには送信されません。
使い方
- ドメイン名を入力し、Apache のバージョンを選びます。分からなければ 2.4 のままで構いません(主要なレンタルサーバーは 2.4 系です)。
- 必要な項目にチェックを入れ、リダイレクト先や IP アドレスを入力します。入力するたびに下の .htaccess が更新されます。
- Basic認証を使う場合は、ユーザー名とパスワードを入れると .htpasswd の行も一緒に生成されます。
- 「コピー」か「ダウンロード」で取り出し、公開ディレクトリに
.htaccessという名前で置きます。
生成する項目
| 項目 | 出力する命令 | 補足 |
|---|---|---|
| https へリダイレクト | RewriteCond %{HTTPS} |
www 統一と同時に選ぶと 1 つのルールにまとめ、リダイレクトを 1 回で済ませます |
| www の統一 | RewriteCond %{HTTP_HOST} |
ドメイン名の入力が必要です |
| 個別URLの301 | Redirect 301 /旧 新 |
前方一致なので /blog は /blog-old にも効きます |
| Basic認証 | AuthType Basic ほか |
AuthUserFile は .htpasswd の絶対パスです |
| IP制限 | 2.4: Require ip / 2.2: Order Allow Deny |
CIDR(203.0.113.0/24)も使えます |
| ディレクトリ一覧の禁止 | Options -Indexes |
index.html が無いフォルダの中身を隠します |
| gzip / キャッシュ / ヘッダー | mod_deflate / mod_expires / mod_headers |
<IfModule> で囲むため、モジュールが無くてもエラーになりません |
置き場所
- Xserver:
/home/サーバーID/ドメイン名/public_html/の直下。.htpasswd の絶対パスも同じ階層なら.../public_html/.htpasswdです。 - さくらのレンタルサーバ:
/home/アカウント名/www/の直下(マルチドメインはそのフォルダ)。 - WordPress などが書き込む
# BEGIN WordPress〜# END WordPressの区間は書き換えず、その前に追記してください。
注意
.htpasswdは公開ディレクトリの外に置くのが安全です。中に置く場合は、ブラウザから開けないことを確認してください。- Basic認証の APR1-MD5 と {SHA} はどちらも強い方式ではありません。限定公開や重要でない範囲の保護に使ってください。
- HSTS を有効にすると、指定した期間ブラウザは http で接続しなくなります。全ページが https で表示できることを確認してから有効にしてください。
よくある質問
.htaccess はどこに置けばよいですか?
公開ディレクトリ(ドキュメントルート)の直下に置くと、サイト全体に効きます。Xserver なら /home/サーバーID/ドメイン名/public_html/、さくらのレンタルサーバなら /home/アカウント名/www/ が標準です。特定のフォルダだけに効かせたい場合は、そのフォルダに置きます。すでに .htaccess がある場合(WordPress など)は上書きせず、既存の内容の前に追記してください。
変更したら500エラー(Internal Server Error)になりました。
ほとんどの場合、書き方の誤りか、サーバーで無効なモジュールの命令を書いたことが原因です。本ツールは mod_deflate や mod_headers の設定を <IfModule> で囲んで出力していますが、Require 命令は Apache 2.4 専用のため、2.2 系のサーバーでは「Apache のバージョン」を 2.2 に切り替えてください。まずファイルを元に戻して復旧し、項目を1つずつ足して原因を絞り込むのが確実です。
.htpasswd のパスワード形式はどれを選べばよいですか?
迷ったら APR1-MD5($apr1$ 形式)を選んでください。Apache の htpasswd コマンドの標準形式で、ほぼすべてのサーバーで使えます。{SHA} 形式も広く対応していますが、ソルト(乱数)が付かないため、同じパスワードは常に同じ文字列になります。どちらも強い方式ではないので、公開前のテストサイトや社内向けの簡易な保護に限定し、重要な認証には使わないでください。
www の統一と https のリダイレクトは両方チェックして大丈夫ですか?
はい。両方チェックすると、http://example.com、http://www.example.com、https://www.example.com のどれにアクセスしても、1回のリダイレクトで最終的なURLに飛ぶように1つのルールにまとめて出力します。