URLのリダイレクト(転送)については、いくつか方法がありますが、今回は下記について少し記載しておきます。
・.htaccessへの記述
・metaタグへの記述
・JavaScriptへの記述
.htaccessへの記述について
■ ページ単位での設定
|
RewriteEngine on RewriteRule ^○○.html$ https://www.●●.com/▲▲.html [L,R=301] |
■ ディレクトリでの設定
※/ディレクトリ名1/から/ディレクトリ名2/への転送という設定になります。
|
RewriteEngine on RewriteRule ^ディレクトリ名1(.*)$ /ディレクトリ名2$1 [L,R=301] |
■ URLでの設定
サイトのリニューアル等でドメイン等の変更をすることになった場合など
|
RewriteEngine On RewriteCond %{http_host} ^www.旧URL.com RewriteRule ^(.*) https://www.新URL.com/$1 [R=301,L] |
■URLの正規化
|
RewriteEngine on RewriteCond %{ HTTP_HOST} ^●●●\.com RewriteRule ^(.*)$ https://www.●●●.com/$1 [L,R=301] |
|
RewriteEngine on RewriteCond %{THE_REQUEST} ^.*/index.html RewriteRule ^(.*)index.html$ https://●●●.com/$1 [L,R=301] |
■httpsへの転送
|
RewriteEngine on RewriteCond %{HTTPS} off RewriteRule ^(.*)$ https://%{ HTTP_HOST}%{REQUEST_URI} [L,R=301] |
Xserverでは、2行目の部分は、
RewriteCond %{HTTPS} !on
とするようです。(3行目の[L, R=301]部分も違います)
|
RewriteEngine On RewriteCond %{HTTPS} !on RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [R=301,L] |
詳しくはこちら
metaタグへの記述について
サーバーでの設定ができない場合、metaタグへ記述する方法があります。
meta refreshは<head>〜</head>タグ内に記述し、「x秒後に別サイトへ移動します。」といった場合によく用いられています。
|
<meta http-equiv=”refresh” content=”5;URL=’http://www.example.com/'” /> |
上記の記述の場合は、5秒後に転送することになります。
JavaScriptによる記述について
こちらもサーバーでの設定ができない場合に、用いられる方法になります。
|
<script type="text/javascript" language="javascript"> <!-- setTimeout("redirect()", 3000); function redirect(){ location.href = "http://example.com"; } // --> </script> |
上記の場合は、3秒後に転送することのなります。
これらの各記述については、サーバーの環境など状況によって対応できる内容も異なると思いますので、お気をつけください。