大阪のWeb制作会社です。
ホームページ制作の無料相談はこちら

技術メモ
Webサイトリニューアル時によく使う.htaccessのリダイレクト処理まとめ

Webサイトをリニューアルするときによく使う.htacessによるリダイレクト処理をまとめていきます。サイトリニューアル時についつい忘れがちですが、SEOにも関わる重要な施策ですので自分用にまとめておきます。

.htaccessとは?

「ドット・エイチ・ティ・アクセス」と読み、サーバーに対する命令をコントロールしているファイルです。今回まとめるページを移動するリダイレクト処理であったり、URLの正規化、ベーシック認証、キャッシュの設定、特定ドメインのアクセス除外なども設定できます。

リダイレクト処理

リダイレクト処理には、恒久的にページを移転させる301リダイレクトと一時的にページを移転させたいときに使用する302リダイレクトがあります。個人的には301リダイレクトを使用するケースが多いので今回は301リダイレクトを中心にご紹介します。

ページ単位でのリダイレクト

.htaccessファイル

RewriteEngine on
RewriteRule ^old.html$ /new.html [R=301,L]

※ どちらもhtml形式の場合

.htaccessファイル

RewriteEngine on
RewriteRule ^contact.html$ https://livalest.com/contact/ [R=301,L]

※ html形式から全URL記載ver

※ ページURLは適宜変更してください。

.htaccessファイル

RewriteEngine on
RewriteRule ^blogcat/freelance/$ https://livalest.com/ [R=301,L]

※ ブログのカテゴリーページをトップページへリダイレクトする時の処理

ディレクトリ単位でのリダイレクト

.htaccessファイル

RewriteEngine on
RewriteRule ^old(.*)$ /new$1 [L,R=301]

ドメイン単位でのリダイレクト

.htaccessファイル

RewriteEngine on
RewriteCond %{HTTP_HOST} ^(www.old-livalest.com)(:80)? [NC] RewriteRule ^(.*) https://new-livalest.com/$1 [R=301,L]

※ ページURLは適宜変更してください。

SSL化して、https通信へ変更するとき

.htaccessファイル

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

URLの正規化/index.htmlはトップページにリダイレクト

.htaccessファイル

RewriteEngine on
RewriteCond %{THE_REQUEST} ^.*/index.html
RewriteRule ^(.*)index.html$ https://livalest.com/$1 [R=301,L]

※ ページURLは適宜変更してください。

wwwありURLを、wwwなしURLへリダイレクトする記述

これに関してはGoogle Search Consoleでも設定が可能なので、僕の場合は.htaccessを使わず、Google Search Consoleの方で設定することが多いです。

.htaccessファイル

RewriteEngine on
RewriteCond %{HTTP_HOST} ^www.livalest\.com
RewriteRule ^(.*)$ https://livalest.com/$1 [L,R=301]

※ ページURLは適宜変更してください。

.htaccess注意点を変更・追加する上での注意点

WordPressの場合、その記述を消さないようにする

.htaccessファイル

# BEGIN WordPress
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteRule .* - [E=HTTP_AUTHORIZATION:%{HTTP:Authorization}]
RewriteBase /
RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
</IfModule>
# END WordPress

WordPressのサイトでは、.htaccessのファイルを開くと上記のようなコードがあります。このコードは基本的に触らず、そのままにしておきましょう。

バックアップはしっかりとっておく

コード編集全般に言えることですが、必ずバックアップをとっておきましょう。Webサイトの表示そのものに関わる重要なファイル編集ですので、エラーが起これば早期にバックアップで復元しましょう。

場合によっては反映まで時間がかかることも・・・

こちらもご使用のサーバーによって、.htaccessの処理反応が遅いことがあります。この場合は少し時間を空けて再度確認してください。

レンタルサーバーによっては設定が必要なことも・・・

使用しているサーバーによっては、.htaccessの設置を許可されていないことがあります(みんなが知っているようなサーバーでは問題ないはずです)。また、.htaccessのパーミッション関係で設定が必要なこともあります。どうしても設定がうまくいかない場合は、ご契約しているサーバー会社さんに問い合わせした方が早いかもしれません。

まとめ

サイトリニューアルの時に設定し忘れることが多いですが、リダイレクト処理全般に関しては過去のサイトのSEO評価を引き継ぐうえでも重要な施策です。今回は自分用にクライアントワークでよく使うリダイレクト処理をまとめてみました。皆さんの参考になれば幸いです。