リライトルールでディレクトリと拡張子を変更して転送する(mod_rewrite)
目次
レンタルサーバーはロリポップで、
Movable Type 4をMT5にアップグレードした。
ついでに
- ディレクトリ: ルート → ルート/blog
- 拡張子: .html → .php
に変更した。
しかし、前のブログにアクセスがあるため、以下の選択肢を考えた。
- 古いブログ(MT4)と新しいブログ(MT5)と共存させる。
- 古いブログ(MT4)にアクセスがあったら、新しいブログ(MT5)に転送させる。
結果、新しいブログに転送させるほうが効率が良いので、
.htaccessに正規表現で以下の事を加えて実現できた。
URLのRewriteというApatchの機能らしい。
http://***.com/2010にアクセスがあったら、
拡張子を.htmlから.phpに変更して、
http://***.com/blog/2010/***.phpにリダイレクトする。
RewriteEngine On RewriteCond %{REQUEST_URI} ^/2010.*$ RewriteRule ^(.*)\.html$ /$1.php [NC,R] RewriteRule ^2010(.*)$ /blog/2010$1 [R,L]
とりあえずできたものの、
正規表現というものを使ったことがなく、
理解するまでには時間がかかりそうです。
フォルダごとにこのルールを設定するのは大変なので、
課題として、複数のフォルダに対して一度にルールを適用できるようしたいと思います。
参考ページ