🔀 .htaccess リダイレクト生成

旧URL→新URLの個別リダイレクトや、www統一・http→https強制・末尾スラッシュ統一・index.html非表示といったURL正規化を選ぶだけで、Apacheの .htaccess に書く mod_rewrite ルールをその場で組み立てます。生成結果はコピー・ダウンロードでき、入力内容はどこにも送信しません。

URL正規化(サイト全体)

重複URLを1つに寄せて、検索エンジンの評価分散を防ぎます。必要な項目だけ選んでください。

www の統一
末尾スラッシュ

個別リダイレクト

移転した個別ページを、旧URL(パス)から新URLへ転送します。1行に1組ずつ入力し、行を追加できます。

種別(ステータスコード)
出力方式

生成された .htaccess

反映前に必ず既存の .htaccess をバックアップし、可能ならテスト環境で確認してください。サーバーやレンタル環境によっては mod_rewrite が無効・書式が異なる場合があり、その際は 500 Internal Server Error になります。設定の組み合わせによってはリダイレクトループ(延々と転送を繰り返す)に注意してください。なお Strict-Transport-Security(HSTS)はリダイレクトとは別のヘッダ設定です。生成・コピー・ダウンロードはすべてブラウザ内で完結し、入力内容は送信しません。

解説

.htaccess は、Apache サーバーのディレクトリごとに置ける設定ファイルで、ページの転送(リダイレクト)やURLの正規化を宣言できます。本ツールは、移転した個別ページの「旧URL→新URL」や、www・https・末尾スラッシュといったサイト全体の統一ルールをフォームで選ぶだけで、書式の整った .htaccess 断片を組み立て、コピーやダウンロードができます。設置はドキュメントルート(サイトの公開フォルダ)直下に .htaccess という名前で置くのが基本です。

リダイレクトには主に 301 と 302 があります。301(恒久的)はページが恒久的に移転したことを表し、検索エンジンは旧URLの評価を新URLへ引き継ぎ、インデックスも新URLへ置き換えます。ドメイン移転・URL変更・URL正規化は原則 301 を使います。302(一時的)は一時的な転送で、旧URLの評価は移らず、旧URLがインデックスに残ります。キャンペーンページの一時差し替えやメンテナンス誘導など、あとで元に戻す前提のときに使います。誤って恒久移転に 302 を使うと評価が新URLへ移らないので注意します。

サイト全体の正規化は mod_rewrite で行います。RewriteEngine On で有効化し、RewriteCond(条件)と RewriteRule(書き換え)を組み合わせます。例えば http→https 強制は「RewriteCond %{HTTPS} off のときに https へ 301 転送」と書きます。RewriteRule の末尾のフラグ [R=301,L] は「301でリダイレクトし、ここで処理を打ち切る(Last)」の意味です。本ツールの個別リダイレクトは、シンプルな Redirect(mod_alias・前方一致)と、厳密一致の RewriteRule(mod_rewrite)のどちらでも出力できます。

URL正規化が重要なのは、http://example.com/・https://www.example.com/・/page と /page/ のように、中身が同じでもURLが複数あると、検索エンジンから重複コンテンツと見なされ評価が分散するためです。1つの正規URLに寄せることで被リンクや評価を集約できます。ただし複数の正規化を重ねると転送が2段階以上になったり、条件の書き方によってはリダイレクトループに陥ることがあります。反映前のバックアップ、mod_rewrite が使えるかの確認、そして反映後の実機テストを必ず行ってください。HSTS(常時https強制ヘッダ)はリダイレクトとは別物で、必要なら別途ヘッダで設定します。

よくある質問

301と302はどちらを使えばよいですか?

ページやドメインを恒久的に移した場合は 301 を使います。検索エンジンが旧URLの評価を新URLへ引き継ぎ、インデックスも置き換わります。一時的な差し替えで、あとで元のURLに戻す予定があるときだけ 302 を使います。恒久移転に 302 を使うと評価が新URLに移らないので注意してください。

.htaccess はどこに置けばよいですか?

通常はサイトの公開フォルダ(ドキュメントルート)の直下に、.htaccess という名前(先頭がドット)で置きます。特定ディレクトリ以下だけに効かせたい場合は、そのディレクトリに置くこともできます。ファイル名の付け間違いや文字コード(UTF-8推奨・BOMなし)に注意してください。

mod_rewrite が使えるか確認するには?

多くの共有レンタルサーバーでは初期状態で有効です。まずは生成したルールを設置して動作を試すのが早いですが、反映直後に 500 Internal Server Error が出る場合は mod_rewrite が無効か、AllowOverride が制限されている可能性があります。契約サーバーのマニュアルやサポートで .htaccess と mod_rewrite の可否を確認してください。

リダイレクトが無限ループするのはなぜですか?

転送先が、また同じ転送ルールに再び一致してしまうと無限ループになります。例えば末尾スラッシュを「付ける」と「外す」を両方入れたり、旧URLと新URLが実質同じだったりする場合です。本ツールは実在ファイル・ディレクトリを除外する条件を付けていますが、個別リダイレクトの新URLが別の正規化ルールに引っかかると2段階以上の転送になることがあります。反映後にブラウザで実際に確認してください。

www と https の統一は同時に設定してよいですか?

問題ありません。ただし両方を別々のルールで有効にすると、環境によっては「httpsへ転送 → wwwなしへ転送」のように2段階のリダイレクトになることがあります。動作上は正しく最終URLに着きますが、速度やSEOを最適化したい場合は、1つのルールにまとめる(条件を組み合わせる)方法もあります。

index.html を隠すと既存のリンクは大丈夫ですか?

「index.html を隠す」は /dir/index.html へのアクセスを /dir/ へ 301 転送し、URLを1つに正規化します。既存の index.html 付きリンクも自動で /dir/ に転送されるためリンク切れにはなりません。サイト内リンクは新しい形(/dir/)に統一しておくと、余計な転送が減ります。

Redirect と RewriteRule はどう違いますか?

Redirect(mod_alias)は書式が簡単で「Redirect 301 /old /new」と書くだけですが、前方一致のため /old 以下のURLもまとめて転送されます。RewriteRule(mod_rewrite)は正規表現で厳密に一致を指定でき、本ツールでは末尾スラッシュの有無を許容した完全一致で出力します。個別ページを1対1で確実に移したいときは RewriteRule、ディレクトリごとまとめて移すなら Redirect が便利です。

入力した内容はサーバーに送られますか?

送られません。ルールの組み立て・コピー・ダウンロードはすべてブラウザ内で完結し、入力したURLはどこにも送信されません。ダウンロードもブラウザ上で生成したファイルを保存するだけです。オフラインでも利用できます。