`.htaccess` で全アクセスをリダイレクトする

あるサイトの全てのアクセスを 307 Temporary Redirect に変更したくなったのでサクッと作りました。

Header set Location: /tmp/
RewriteEngine On
RewriteBase /
RewriteCond %{REQUEST_URI} !(^/tmp/)
RewriteCond %{REQUEST_URI} !\.css$
RewriteCond %{REQUEST_URI} !\.js$
RewriteCond %{REQUEST_URI} !\.json$
RewriteCond %{REQUEST_URI} !\.ico$
RewriteRule ^(.*)$ https://example.com/tmp/ [L,R=307]

ErrorDocument 307 /tmp/

条件は以下の通り。

  • あるサイトの /tmp/ 以外のURLに対して 307 Temporary Redirect でリダイレクト
  • レスポンスヘッダにLocation:ヘッダを付与(指示先は /tmp/ )
  • 拡張子が css, js, json, ico は除く

これで対処。

参考

この記事を書いた人

アバター

アルム=バンド

フロントエンド・バックエンド・サーバエンジニア。LAMPやNodeからWP、Gulpを使ってejs,Scss,JSのコーディングまで一通り。たまにRasPiで遊んだり、趣味で開発したり。