オンラインPC館

ドメイン統合

RewriteEngine onについて

「RewriteEngine on」はRewriteEngineを使用する際に記述します。
ただし、RewriteEngineを使う項目を複数利用する場合は、最初の1行目に記述するだけでかまいません。
URL統一(www,index有無、http,https)

HTTPの統合(HTTP→HTTPS)

HTTPへのアクセスをHTTPSにリダイレクトする方法です。

RewriteEngine on
RewriteCond %{ENV:HTTPS} !on
RewriteRule .* https://%{HTTP_HOST}%{REQUEST_URI} [R=301,L]

トップページURLの統合(index.html→URL)

index.htmlへのアクセスをURLにリダイレクトする方法です。
赤字の部分にURLを記述してください。

RewriteEngine on
RewriteCond %{THE_REQUEST} ^.*/index\.(html|php|cgi)
RewriteRule ^(.*)index\.(html|php|cgi)$ https://×××.×××/$1 [R=301,L]

Webページの自動転送

301リダイレクト

.htaccessで301リダイレクトを利用する方法です。
ドメインやディレクトリを変更するとサイトのURLが変わるため、大きなマイナスになります。
これを回避できるのがリダイレクトで、古いURLにアクセスがあると新しいURLに自動転送させる事ができます。
なお、転送先は大雑把に指定するのではなく、できるだけ正確にページ単位で指定した方が良いようです。
※ 正規表現を用いた一括指定の場合は同一の名前があるとエラーが発生するので注意してください。
リダイレクトの.htaccessジェネレーター

  1. 旧URL:ドメイン名を省略したディレクトリのパス(https://×××.comを省略した/からのURL)
  2. 新URL:ドメイン名を含めた全てのパス
  3. 書式:Redirect permanent 旧URL 新URL
  4. 例(https://abc.com/の場合):Redirect permanent /aaa/bbb.html https://abc.com/ccc/bbb.html
  5. 一括指定(正規表現利用可):RedirectMatch permanent /aaa/(.*) /ccc/$1
  6. 一括指定(正規表現利用可):RedirectMatch permanent ^/aaa/(.*) /aaa/ccc/$1
  7. アドレス変更ツールの使用(Search Console)

ドメインの移行

ドメインを変更した場合の移転方法です。
旧URLのサーバーに以下を記述した.htaccessだけを置いておけば、自動的にリダイレクトされて新URLに移動します。

RewriteEngine On
RewriteCond %{http_host} ^旧URL
RewriteRule ^(.*) 新URL/$1 [R=301,L]

リダイレクト期間

リダイレクトは可能であれば半永久的に継続する事が望ましいとされています。
しかし、無駄なコストがかかるなどで、あまり長い期間継続したくない場合があります。
そんな時はアクセス解析を利用してリンク元をチェックし、旧URLからのアクセス数を見て判断してください。
一定期間(1年程度)経過すると新しいURLの方にアクセスが増えてくるので、ある程度移行できたら停止しても大丈夫だと思います。

オンラインPC館
トップページテクニックウェブ制作テクニック → .htaccessリダイレクト