エックスサーバー利用者向けにWordPressでリダイレクトを行う方法を解説します。
エックスサーバーでリダイレクトを行う方法
エックスサーバーでリダイレクトを行う方法には、次の2つがあります。
- エックスサーバーのサーバーパネルにログインし、
.htaccess
ファイルを編集する - FTPでサーバーの.htaccessファイルにアクセスして、
.htaccess
ファイルを編集する
2番の「FTPでサーバーの.htaccessファイルにアクセスして、.htaccess
ファイルを編集する」方法については、以下の記事で解説しています。
この記事では、「エックスサーバーのサーバーパネルにログインし、.htaccess
ファイルを編集する」を解説していきます。
エックスサーバーでリダイレクトを行う手順
エックスサーバーのサーバーパネルにログインし、.htaccess
ファイルを編集する手順は、次の通りになります。
- サーバーパネルへログインする
- 「
.htaccess
編集」を開く - 対象のドメインを選択する
.htaccess
ファイルのバックアップを取る.htaccess
ファイルの編集を行う
.htaccess
ファイルはWordPressの重要な設定ファイルです。間違った記述を行うと、WordPressが起動しないと言ったトラブルの原因になります。必ずバックアップを取ってから編集を行うようにしましょう。サーバーパネルへログインする
まずはエックスサーバーのサーバーパネルへログインを行ってください。
「.htaccess
編集」を開く
.htaccess
ファイルを編集するために、ホームページの項目から「.htaccess
編集」をクリックしてください。
対象のドメインを選択する
エックスサーバーに追加してあるドメインの一覧が表示されます。リダイレクトを行いたいドメインの欄にある「選択する」をクリックしてください。
.htaccess
ファイルのバックアップを取る
「.htaccess
編集」画面が開きます。タブから「.htaccess
編集」を選びます。
画面が切り替わり、対象ドメインの.htaccess
ファイルの内容が表示されます。
.htaccess
ファイルの内容をテキストファイルなどにコピー&ペースとして、バックアップを取っておきましょう。
.htaccess
ファイルの編集を行う
まず.htaccess
ファイルに、次の内容の記載があるので見つけてください。
# BEGIN WordPress <IfModule mod_rewrite.c> RewriteEngine On RewriteBase / RewriteRule ^index\.php$ - [L] RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d RewriteRule . /index.php [L] </IfModule> # END WordPress
リダイレクトを行うために、上記の記述の前に次の記述を行ってください。
# BEGIN Redirect <IfModule mod_rewrite.c> RewriteEngine On RewriteRule ^old-page new-page [L,R=301] </IfModule> # END Redirect
項目 | 説明 |
---|---|
old-page | リダイレクト元のページパス |
new-page | リダイレクト先のページURL |
ファイルの編集の具体例
例えば、https://examplemcom/redirect-1/
からhttps://examplemcom/redirect-2/
のページへリダイレクトを行いたい場合は次のように記載します。
# BEGIN Redirect <IfModule mod_rewrite.c> RewriteEngine On RewriteRule ^redirect-1/ https://examplemcom/redirect-2/ [L,R=301] </IfModule> # END Redirect
.htaccess
ファイルの全体の内容は次のようになります。
# BEGIN Redirect <IfModule mod_rewrite.c> RewriteEngine On RewriteRule ^redirect-1/ https://examplemcom/redirect-2/ [L,R=301] </IfModule> # END Redirect # BEGIN WordPress <IfModule mod_rewrite.c> RewriteEngine On RewriteBase / RewriteRule ^index\.php$ - [L] RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d RewriteRule . /index.php [L] </IfModule> # END WordPress