.htaccess
が効かない環境や、WordPressプラグイン「Redirection」では管理画面を除外できない場合、別の方法でリダイレクト処理を実装する方法があります。
この記事では、プラグインや.htaccessを使わずに管理画面を除外して301リダイレクトする方法をご紹介します
目次
.htaccessやRedirectionではできなかった理由
よくある301リダイレクトの方法がうまくいかないことがあります。
.htaccess
が効かないケース
- サーバー設定で
mod_rewrite
が無効 .htaccess
自体が無視されている(さくらの共用サーバーなど)- WordPressがすべてのURLを
index.php
で処理している
Redirectionプラグインの制限
- サブディレクトリが関係する場合、管理画面やログイン画面を除外する細かい制御ができない
- WordPressが先にURLルーティングを処理してしまう
.htaccessやRedirectionを使わない解決策
.htaccessやRedirectionを使わない解決策です。
いろいろなケース別で記載しています。
NO. | リダイレクト元 | リダイレクト先 | パターン名 |
---|---|---|---|
1 | https://example.com/old/ | https://example.com/new/ | 親サイト → 親サイト |
2 | https://blog1.example.com/ | https://blog2.example.net/ | サブディレクトリ → サブディレクトリ |
3 | https://www.oldsite.com/ | https://newsite.com/blog/ | 親サイト → サブディレクトリ |
4 | https://old.example.net/sub/ | https://example.com/ | サブディレクトリ → 親サイト |
5 | https://main.example.org/legacy/ | https://archive.example.org/ | 親サイト → サブドメインサイト |
6 | https://app.example.org/old-page/ | https://www.example.org/new-page/ | サブドメイン → 親サイト |