カテゴリー: 開発ツール

.htaccessリダイレクトジェネレーター

サイト側で企画したツールツールが見つからない?

Apache用のリダイレクト・書き換えルールを生成

すべてのリクエストをHTTPSに強制し、wwwサブドメインの有無を統一し、末尾のスラッシュを追加・削除し、特定のパスをリダイレクトするApacheの.htaccessスニペットを、フォームに入力するだけで生成します。mod_rewriteの構文もあわせて自動で作成されます。すべてブラウザ内でローカルに生成されます。

.htaccess
RewriteEngine On

# Force HTTPS
RewriteCond %{HTTPS} off
RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]

# Redirect www to non-www
RewriteCond %{HTTP_HOST} ^www\.example\.com$ [NC]
RewriteRule ^(.*)$ https://example.com/$1 [L,R=301]

# Path redirects
Redirect 301 /old-page /new-page
Redirect 301 /blog/old-post /blog/new-post

このページの処理はすべてブラウザ内で行われます。アップロードは一切ありません。

このツールでできること

Apacheで運用しているサイトでは、よく似たリダイレクトが繰り返し必要になります。すべてのリクエストをHTTPSに強制すること、www有りと無しのどちらか一方を正規の形として統一し、検索エンジンの評価が2つのURLに分散しないようにすること、末尾のスラッシュの有無を統一すること、そしてサイト構成を変更した後に古いパスから新しいパスへ301リダイレクトすることです。それぞれにRewriteCondとRewriteRuleの組が必要で、順序やエスケープを手作業で正しく書くのは間違えやすい作業です。

使い方

  1. ドメインを入力し、必要なhttpsとwwwのルールを切り替えます。
  2. 末尾のスラッシュをどう扱うかを選びます。
  3. 古いパスから新しいパスへのリダイレクトを、1行に1つずつ列挙します。
  4. 生成されたルールを、サイトの.htaccessファイルにコピーします。

プライバシー

このツールはすべてブラウザ内で動作します。入力した内容がアップロード・保存・共有されることはなく、タブを閉じれば消えます。

よくある質問

このファイルはどこに置けばよいですか。
Apacheサイトのルートにある.htaccessファイルに置きます。利用にはmod_rewriteが有効になっている必要がありますが、多くの共用レンタルサーバーや標準的なApacheの構成では既定で有効になっています。
なぜwwwの形式をどちらかに統一する必要があるのですか。
www.example.comとexample.comの両方をリダイレクトなしで公開してしまうと、検索エンジンからはページが2つの別々のURLとして認識されてしまいます。一方をもう一方へリダイレクトすることで、リンクや評価を1つの正規のアドレスに集約できます。
メタタグジェネレーターで作ったcanonicalタグと組み合わせて使えますか。
はい。リダイレクトによって常に1つのURL形式だけが実際に配信されるようにし、canonicalタグは、古い形式をまだクロールしている検索エンジンに対して同じ優先URLを重ねて伝える役割を果たします。