.htaccessの設定でよく使われるパターンのサンプルをまとめました。
パスはそのままで、別のドメインにリダイレクトする
例)アクセスされたらパスはそのままに http://xxxxx.zzz へリダイレクトする
1 2 3 4 |
<IfModule mod_rewrite.c> RewriteEngine On RewriteRule (.*) http://xxxxx.zzz/$1 [R=301,L] </IfModule> |
URLの箇所は、設定するURLを指定してください。
(結果例)
- http://yyyyy.zzz/test01.html ⇒ http://xxxxx.zzz/test01.html
- http://yyyyy.zzz/test02.html ⇒ http://xxxxx.zzz/test02.html
すべてのアクセスを指定したURLにリダイレクトする
例)すべてのアクセスを http://xxxxx.zzz へリダイレクトする
1 2 3 4 |
<IfModule mod_rewrite.c> RewriteEngine On RewriteRule .* http://xxxxx.zzz [R=301,L] </IfModule> |
URLの箇所は、設定するURLを指定してください。
(結果例)
- http://yyyyy.zzz/test01.html ⇒ http://xxxxx.zzz
- http://yyyyy.zzz/test02.html ⇒ http://xxxxx.zzz
特定のアクセスのみリダイレクト
例)test01.htmlへアクセスされたら、test99.html へリダイレクトする
1 2 3 4 |
<IfModule mod_rewrite.c> RewriteEngine On RewriteRule ^test01.html /test99.html [R=301,L] </IfModule> |
リダイレクト前のパスは前スラッシュ無し、リダイレクト後のパスは前スラッシュありで記述します。
(結果例)
- http://yyyyy.zzz/test01.html ⇒ http://yyyyy.zzz/test99.html
- http://yyyyy.zzz/test02.html ⇒ http://yyyyy.zzz/test02.html (変化なし)
www無しのURLに統一する
例)www付きのURLでアクセスされたらwww無しのURLへリダイレクトする
1 2 3 4 5 |
<IfModule mod_rewrite.c> RewriteEngine On RewriteCond %{HTTP_HOST} ^www¥.xxxxx¥.zzz RewriteRule ^(.*) http://xxxxx.zzz/$1 [R=301,L] </IfModule> |
URLの箇所は、設定するURLを指定してください。
(結果例)
- http://www.xxxxx.zzz/test01.html ⇒ http://xxxxx.zzz/test01.html
- http://xxxxx.zzz/test01.html ⇒ http://xxxxx.zzz/test01.html (変化なし)
www有りのURLに統一する
例)www無しのURLでアクセスされたらwww有りのURLへリダイレクトする
1 2 3 4 5 |
<IfModule mod_rewrite.c> RewriteEngine On RewriteCond %{HTTP_HOST} ^xxxxx¥.zzz RewriteRule ^(.*) http://www.xxxxx.zzz/$1 [R=301,L] </IfModule> |
URLの箇所は、設定するURLを指定してください。
(結果例)
- http://www.xxxxx.zzz/test01.html ⇒ http://www.xxxxx.zzz/test01.html (変化なし)
- http://xxxxx.zzz/test01.html ⇒ http://www.xxxxx.zzz/test01.html
httpsに統一する
例)httpでアクセスされたらhttpsへリダイレクトする
1 2 3 4 5 |
<IfModule mod_rewrite.c> RewriteEngine On RewriteCond %{HTTPS} off RewriteRule ^(.*) https://%{HTTP_HOST}/$1 [R=301,L] </IfModule> |
(結果例)
- http://xxxxx.zzz/test01.html ⇒ https://xxxxx.zzz/test01.html
- https://xxxxx.zzz/test01.html ⇒ https://xxxxx.zzz/test01.html (変化なし)
wwwなし、httpsに統一する
例)wwwありなし、http/httpsがどのようなパターンでアクセスされてもwwwなしでhttpsに統一する
1 2 3 4 5 6 7 |
<IfModule mod_rewrite.c> RewriteEngine On RewriteCond %{HTTPS} off RewriteRule ^(.*) https://%{HTTP_HOST}/$1 [R=301,L] RewriteCond %{HTTP_HOST} ^www¥.xxxxx¥.zzz RewriteRule ^(.*) https://xxxxx.zzz/$1 [R=301,L] </IfModule> |
URLの箇所は、設定するURLを指定してください。
(結果例)
- http://www.xxxxx.zzz/test01.html ⇒ https://xxxxx.zzz/test01.html (https化、www除去)
- http://xxxxx.zzz/test01.html ⇒ https://xxxxx.zzz/test01.html (https化)
- https://www.xxxxx.zzz/test01.html ⇒ https://xxxxx.zzz/test01.html (www除去)
- https://xxxxx.zzz/test01.html ⇒ https://xxxxx.zzz/test01.html (変化なし)
備考
- wwwありなしのどちらに統一するかですが、最近の流行だとwwwなしに統一するサイトが多いです。
- .htaccessファイルの書き方については以下をご覧ください。
⇒ [htaccess] .htaccessの書き方
コメント