PG WORKS

PHPやLinux(サーバー)などのノウハウや、便利なツールを紹介していきます。

【Apache】htaccessを使ったリダイレクト設定

PHPネタ以外で今回は「htaccess」を使ったリダイレクト設定の仕方を紹介したいと思います。

リダイレクトを使う理由としては。。。

  • サイトのドメイン変更で新しいドメインへリダイレクト
  • 特定のページを別のページへリダイレクト
  • www無しをwww有りにしてリダイレクト

他にも、URLの書き換えや、PHPの設定変更も「.htaccess」で対応が可能です。

では、リダイレクトのサンプルを記載していきたいと思います。

別のページへリダイレクト

Redirect permanent /old/ http://newsite.net/new/

リダイレクトしたいページ名とリダイレクト先のURLを記載します。日本語URLでは、リダイレクト先のURLをPunycode(ピュニコード)で記載します。

Punycodeに変換したい場合、下記のサイト様が大変便利です。
n7.com

別のページへリダイレクト(日本語の場合)

Redirect permanent /過去履歴/ http://newsite.net/xn--fht636a/

※過去履歴からhttp://newsite.net/履歴/にリダイレクト
また、特定のフォルダにあるページを全て同じURLにリダイレクトしたい場合は、下記の書き方になります。

対象のフォルダにあるページを全て同じURLへリダイレクト1

RedirectMatch permanent /website/* http://newsite.net/new/

下記の方法でも、一括リダイレクト可能です。

対象のフォルダにあるページを全て同じURLへリダイレクト2

RewriteCond %{SERVER_PORT} 80
RewriteRule ^website/(.*)$ http://newsite.net/new/ [R=301,L]


次回は、同じ「htaccess」を使ったURLの書き換え方法を紹介したいと思います~。