.htaccessやHTMLなどでのリダイレクト設定方法
目次
内容
リダイレクトとは
WebサイトのURLを、最初にアクセスされたURLから別のURLへ自動的に転送することをいいます。
例として、以下のように 別のドメインへのリダイレクトを行ったり、wwwありなしの統一や、httpまたはhttpsへの統一なども可能です。
「URLリダイレクト」や「HTTPリダイレクト」と呼ばれる場合がありますが、同じ意味です。
アクセス元URL | 転送先URL |
---|---|
example.com | example.net |
HTMLファイルでのリダイレクト
<HTML>
<HEAD>
<TITLE>タイトル</TITLE>
<meta http-equiv="refresh" content="秒数;URL='http://example.com/'"/>;
</HEAD>
<BODY>
ページが変わらない方は<a href="http://example.com/">こちら</a>
</BODY>
</HTML>
「秒数」の箇所には、リダイレクト前のページの表示時間(単位:秒)を記述してください。(目安値:5)
PHPファイルでのリダイレクト
<?php
header('HTTP/1.1 301 Moved Permanently');
header('Location: http:// example.jp/';);
?>
.htaccessファイルでの各種リダイレクト設定
「wwwなし」から「wwwあり」へのリダイレクト
RewriteEngine on
RewriteCond %{HTTP_HOST} ^example\.com
RewriteRule ^(.*) http://www.example.com/$1 [R=301,L]
「wwwあり」から「wwwなし」へのリダイレクト
RewriteEngine on
RewriteCond %{HTTP_HOST} ^www.example\.com
RewriteRule ^(.*) http://example.com/$1 [R=301,L]
「http」から「https」へのリダイレクト
RewriteEngine on
RewriteCond %{ENV:HTTPS} !^on$
RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [R=301,L]
「https」でかつ「www」へのURLに固定する場合
RewriteEngine On
RewriteCond %{HTTP_HOST} ^example\.com
RewriteRule (.*) http://www.example.com/$1 [R=301,L]
RewriteCond %{ENV:HTTPS} !^on$
RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [R=301,L]
WordPressやアプリケーションによる.htaccess記述がある場合
WordPressやお使いのアプリケーションにより、すでに.htaccessへの記述が行われている場合にリダイレクト設定を行う場合は、該当のアプリの記述よりも前にくるよう、リダイレクトの記述を先頭に挿入してください。
.htaccess仕様に関して
なお、リダイレクトの方法は複数ございます。上記はあくまで参考程度にご利用ください。
各プログラムのご利用方法、動作保証等は行っておりません。何とぞご了承ください。
HTMLやCSSのソース内にあるパス記述の変更
HTMLやCSSにも外部ファイルの呼び出し、外部サイトへのアクセスURLが記載されている場合があります。
上記のSSL導入とリダイレクト設定に加え、よりよいホームページ環境にするためには、サイト内からアイテムを呼び出す際の記述についても適宜「http」から「https」へ修正することを推奨します。
修正を確認する箇所
HTMLファイル内:<link href="http://">
HTMLファイル内:<img src="http://">
HTMLファイル内:<a href="http://">
HTMLファイル内:<script src="http://">
CSSファイル内:background-image: url("http://exsample.com/img/background.jpg");
ファイルの修正に関して
※運用状況によりましては不要な場合、またはその他にも必要な箇所がある可能性がございます。
※弊社ではWebサイトに関して、サポートはしておりませんのでお客さまにてご確認ください。