リライトルールでディレクトリと拡張子を変更して転送する(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]


とりあえずできたものの、

正規表現というものを使ったことがなく、

理解するまでには時間がかかりそうです。

 

フォルダごとにこのルールを設定するのは大変なので、

課題として、複数のフォルダに対して一度にルールを適用できるようしたいと思います。

 

参考ページ

前へ

APIを使って短縮URLを取得して表示

次へ

ソースコードをきれいに装飾表示するアレ(SyntaxHighlighter)