.htaccess ファイルを使用してリダイレクトを構成する方法。 htaccess は、サーバー構成ファイルを編集せずに Web サーバー構成を変更するために使用されるファイルです。この .htaccess ファイルは、Web サイトのルート ディレクトリに配置されます。
このガイドでは、主に SEO と検索エンジンでのランキングに必要なリダイレクトのリストを構成する方法を学習します。
これらは、ここで学習するリダイレクトのリストです。
- HTTP を www 付きの HTTPS にリダイレクトします。
- HTTP を www なしの HTTPS にリダイレクトします。
- あるページを別のページにリダイレクトする
- 古いドメインを新しいドメインにリダイレクトします。
- パスを維持しながら、古いドメインを新しいドメインにリダイレクトします。
- ファイルの場所を同じパスを持つ新しいドメインにリダイレクトします。
- 特定のパス以外をリダイレクト
- サブドメインをサブフォルダーにリダイレクトします。
注: 以下のリダイレクトは 301 永久リダイレクトを使用するため、必要に応じて、代わりに 302 一時リダイレクトを使用してルールを試し、テストすることができます。
1. www
を使用して HTTP を HTTPS にリダイレクトしますRewriteEngine On
RewriteCond %{HTTPS} off [OR]
RewriteCond %{HTTP_HOST} !^www\. [NC]
RewriteCond %{HTTP_HOST} ^(?:www\.)?(.+)$ [NC]
RewriteRule ^ https://www.%1%{REQUEST_URI} [L,NE,R=301] 2. wwwなしでHTTPをHTTPSにリダイレクト
RewriteEngine On
RewriteCond %{HTTPS} off [OR]
RewriteCond %{HTTP_HOST} ^www\. [NC]
RewriteCond %{HTTP_HOST} ^(?:www\.)?(.+)$ [NC]
RewriteRule ^ https://%1%{REQUEST_URI} [L,NE,R=301] 3.あるページを別のページにリダイレクト
構文は
Redirect type(302/301) old_location new_location
Redirect 301 /old_page https://www.domain.com/new_page Redirect 301 /old_page https://www.domain.com/folder/
4.古いドメインを新しいドメインにリダイレクト
RewriteEngine on
RewriteCond %{HTTP_HOST} ^domain\.com$ [OR]
RewriteCond %{HTTP_HOST} ^www\.domain\.com$
RewriteRule ^(.*)$ "https\:\/\/new-domain\.com\/" [R=301,L] 5.パスを維持しながら古いドメインを新しいドメインにリダイレクト
RewriteEngine on
RewriteCond %{HTTP_HOST} ^olddomain\.com$ [OR]
RewriteCond %{HTTP_HOST} ^www\.olddomain\.com$
RewriteRule ^(.*)$ "https\:\/\/newdomain\.com\/$1" [R=301,L] 6.ファイルの場所を同じパスの新しいドメインにリダイレクト
RewriteRule ^.*\.(pdf|doc)$ https://newdomain.com%{REQUEST_URI} [R=301,L] 7.特定のパス以外をリダイレクト
たとえば、WordPress の wp-admin ページを除くすべての Web サイト フロントエンドを新しいドメインにリダイレクトする場合は、リダイレクト ルールの前に次のルールを使用する必要があります。
RewriteCond %{REQUEST_URI} !^(.*)?wp-login\.php(.*)$
RewriteCond %{REQUEST_URI} !^(.*)?wp-admin$
RewriteCond %{REQUEST_URI} !^/(wp-includes/.*|wp-admin/.*|wp-content/.*)$ 8.サブドメインをサブフォルダにリダイレクト
これは主に、サブドメイン ベースのサイトをサブフォルダー ベースのサイトにリダイレクトするために使用されます。
Options +FollowSymLinks
RewriteEngine On
RewriteCond %{REQUEST_URI}/ subfolder
RewriteRule ^(.*) https://domain.com/%{REQUEST_URI} [R=301,NC]
RewriteRule ^(.*) https://domain.com/blog/%{REQUEST_URI} [R=301,NC]