.htaccessのRewriteRule 記載例をまとめました。
メンテナンスページへリダイレクトする
HTTPレスポンスコード「503」は、Service Unavailable(「サービス利用不可」「サービスが利用できません」)を意味する。
アクセスページが「/maintenance.html」ではない かつ
アクセス元が「192.168.10.13」ではない場合、
レスポンスコードを503を返す
htaccess のソースコード
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteCond %{REQUEST_URI} !=/maintenance.html
RewriteCond %{REMOTE_ADDR} !=192.168.10.13
RewriteRule ^.*$ - [R=503,L]
</IfModule>
httpでアクセスが来たら、強制的にhttpsにリダイレクトする
アクセスページが「/maintenance.html」ではない かつ
アクセス元が「192.168.10.13」ではない場合、
レスポンスコードを503を返す
htaccess のソースコード
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteCond %{HTTPS} !on
RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [R=301,L]
</IfModule>
/shop/または、/blog/でアクセスが来たら、/old/を先頭につけたページにリダイレクトする
アクセスページが「/old」ではない かつ
アクセスページが「/shop/」または「/blog/」である場合、
「/old」を先頭につけて「/old/shop/」、「/old/blog/」のリンクにリダイレクトする
htaccess のソースコード
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteCond %{REQUEST_URI} !/old
RewriteCond %{REQUEST_URI} (^/shop/|^/blog/)
RewriteRule ^(.*)$ /old/$1 [R=301,L]
</IfModule>
表示URLは変更せずに、リダイレクトする
上のTips との違いは、R=301 があるかどうか。
R=301をつけないと、内部リンクのみリダイレクトされる。
htaccess のソースコード
RewriteRule ^(.*)$ /old/$1 [L]
コメントを書く