GNU/Linux >> Linux の 問題 >  >> Linux

Htaccess を使用してリダイレクトする方法 – 301、302、HTTPS の共通ルール

.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]


Linux
  1. .htaccessを使用してApacheで基本認証を設定する方法

  2. HTTPSにリダイレクトする

  3. (ドット)htaccessファイルを使用してサイトをリダイレクトするにはどうすればよいですか?

  1. 安全なファイル転送のためにFileZillaを使用してSFTPに接続する方法

  2. .htaccessファイルを使用してerror-log.txtログを有効にする方法は?

  3. nc を使用して複数の tcp 接続をリッスンする方法

  1. Nginxを使用してURLをリダイレクトする方法

  2. Dh_installinitを使用して1つのパッケージに2つのサービスをインストールすることは可能ですか?どのように?

  3. TLS拡張機能を使用してDebianEtchで1つのIPに対して複数のHTTPSサイトを有効にする方法