.htaccess
によるリダイレクトは、ドメイン移転や記事重複によるSEO評価の低下を防ぐなど様々な場面で使用されます。
しかし、.htaccess
の書き方にそって、リダイレクトを試してみてもうまくいかない方はいませんか?
この記事では、WordPressで.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 # WordPressセクションの後にリダイレクトを記述する <IfModule mod_rewrite.c> RewriteEngine On RewriteRule ^old_page/ http://example.com/new_page/ [L,R=301] </IfModule>
正しい.htaccess
の書き方
# WordPressセクションの前にリダイレクトを記述する <IfModule mod_rewrite.c> RewriteEngine On RewriteRule ^old_page/ http://example.com/new_page/ [L,R=301] </IfModule> # 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
とても単純なことですが、指摘されないと意外と気づかないことでもあります。.htaccess
によるリダイレクトがうまくいかない場合は、記載内容を一度しっかりと確認してみましょう。