サーバー

httaccessのリダイレクトTIPS

投稿日:2020年4月4日 更新日:

◆同サーバー内でのリダイレクト

1.特定ページへのリダイレクト

▼https://example.com/page.htmlからhttps://example.com/new-page.htmlへ転送

<IfModule mod_rewrite.c>

RewriteEngine on

RewriteRule ^page\.html$ https://example.com/new-page.html[R=301,L]

</IfModule>

※.htaccessファイルを「examle.com」ドメインのトップディレクトリに設置した場合の記述例

※記述の最後は空白行を設ける。以降のサンプルでも同様。

 

2.ディレクトリ単位でのリダイレクト(同一ドメイン内)

▼「old」ディレクトリから「new」ディレクトリへ転送

<IfModule mod_rewrite.c>

RewriteEngine on

RewriteBase /

RewriteRule ^old/(.*)$ /new/$1 [R=301,L]

</IfModule>

RewriteRule ^aaa/ http://example.com/#info [R=301,L,NE]

 

◆日本語URLからのリダイレクト

「URLエンコーディング」は文字を「%」と16進数2桁の文字コードで作られているので、Apacheが認識できる「16進数」にすることで対応する。

RewriteRule ^\xE3\x81\x8A\xE7\x9F\xA5\xE3\x82\x89\xE3\x81\x9B/ http://example.com/ [R=301,L]

◆アンカー付きURLへのリダイレクト

フラグにNEを付ける。

RewriteRule ^aaa/ http://example.com/#info [R=301,L,NE]

 

 

参考:https://sem-journal.com/seo/how-to-redirect/

-サーバー

関連記事

no image

htaccessでアンカー付きURLへリダイレクト

アンカーの#などは、URLエンコードされてしまう。 NEフラグを付けると、URLエンコードされない。

no image

.htaccessにてwwwに統一、かつhttps化

.htaccessにてwwwに統一、かつhttps化 <IfModule mod_rewrite.c> RewriteEngine On RewriteCond %{HTTP_HOST} …