Home > MovableType > ディレクトリ分割メモ

ディレクトリ分割メモ

前までは /archives/200504/という風に 年+月 のディレクトリを作成してたが、
/archives/2005/04/ という風に年のディレクトリを作ってから月のディレクトリを作るように変更。

古いのを削除したので。
以前のページにリンクしてくれてる人(がいるのか不明だが)のリンクが切れるので.htaccessでリダイレクトの設定をすることに

正規表現なんかよく分からないので、Googleで検索し、いろいろと試しているうちに何とかできた。

■正規表現メモ

[0-9]や\d → 0から9までの数字、 [a-z] なら aからzまでのアルファベット
[0-9] 数字 [0-9]{4} とすると 5桁の数字という意味 1111 2222 2020 5555 などなど
[a-z]{5] なら アルファベット5文字分
. (ピリオド) 改行以外の一文字
* 直前の文字の連続(0文字以上) /* → /// 566* → 5666666
任意の文字の連続を指定するとき *単体では使えない ピリオドと組み合わせる .*
()で囲っておくとあとで$n番目として ($1 $2 $3...) 使えるのを利用
.htaccessの場合は \{\}とか\(\)にしなくてもいいみたいだ

参考リンク:
http://www.sixnine.net/regexp/index.html

■で、つかう.htaccessは?

.htaccess
RedirectMatch ^(.*)/([0-9]{4})([0-9]{2})/(.*)\.php$ $1/$2/$3/$4.php

これで、
/archives/200406/20-0145.php
へアクセスすると

/archives/2004/06/20-0145.php
にリダイレクトされるようになった

■結果こんな感じ?

http://rag2ch.s151.xrea.com/archives/200406/20-0145.php

^(.*)/ → http://rag2ch.s151.xrea.com/archives/ → $1

([0-9]{4})/ → 2005 → $2

([0-9]{2})/ → 06 → $3

(.*)\.php$ → 20-0145.php → $4  (phpのあとの$は最後の文字という意味?

$nのデータを参照してリダイレクト先を決めるので1記事ずつ指定しなくてもOK

$1/$2/$3/$4.php

http://rag2ch.s151.xrea.com/archives/2004/06/20-0145.php


\dにしたりして、もっと短くできそうだけど、この辺が限界。

Comments:0

Comment Form

コメントを表示する前にこのブログのオーナーの承認が必要になることがあります。

Trackbacks:0

TrackBack URL for this entry
http://rag2ch.s151.xrea.com/mtos/mt-tb.cgi/465
Listed below are links to weblogs that reference
ディレクトリ分割メモ from rag2ch blog

Home > MovableType > ディレクトリ分割メモ

Search
Feeds
  • RSS
  • Atom
  • track feed Rag2chblog

Return to page top