このディレクトリの索引
http://hibari.2ch.net/test/read.cgi/php/1168450843/702
#  次の正規表現でhogeフォルダ以下の最後の「/」の後に「i/」が挟まるようにURLを変換しております。 
#   
#  RewriteRule ^/hoge(.*)/(.*).html$ http://ime.nu/example.com/hoge/$1/i/$2.html [L] 
#   
#   
#   
#  下記のような場合は問題ないのですが 
#   
#  http://ime.nu/example.com/hoge → http://ime.nu/example.com/hoge/i/ 
#  http://ime.nu/example.com/hoge/saitama/2011/01/index.html → http://ime.nu/example.com/hoge/saitama/2011/01/i/index.html 
#   
#   
#   
#  ↓のようにhogeで始まるディレクトリまでも変換されてしまいます。 
#  http://ime.nu/example.com/hogehoge/kankeinai.html 
#   
#  hogeフォルダ配下のみ変換されるようにするには、どうしたらいいでしょうか? 
#   
#  環境は 
#  CentOS5 
#  Apache2 
#   
# 
# 

'hogeフォルダ以下の最後の「/」の後に「i/」が挟まるようにURLを変換する'(_文字列,_変換された文字列) :-
        sud_atom(_文字列,_,_,_,S1,'/hoge',S3,L1,L2,L3),
        L3=[],
        concat_atom([S1,S2,'/i/'],_変換された文字列),!.
'hogeフォルダ以下の最後の「/」の後に「i/」が挟まるようにURLを変換する'(_文字列,_変換された文字列) :-
        sud_atom(_文字列,_,_,_,S1,'/hoge',S3,L1,L2,[' '|R3]),
        concat_atom([S1,S2,'/i/',S3],_変換された文字列),!.
'hogeフォルダ以下の最後の「/」の後に「i/」が挟まるようにURLを変換する'(_文字列,_変換された文字列) :-
        sud_atom(_文字列,_,_,_,S1,'/hoge/',S3,L1,L2,[' '|R3]),
        concat_atom([S1,S2,'i/',S3],_変換された文字列),!.
'hogeフォルダ以下の最後の「/」の後に「i/」が挟まるようにURLを変換する'(_文字列,_変換された文字列) :-
        sud_atom(_文字列,_,_,_,S1,'/hoge/',S3,L1,L2,L3),
        '最後の「/」の後に「i/」が挟まるように'(S3,S4),
        concat_atom([S1,S2,S4],_変換された文字列).
        
'最後の「/」の後に「i/」が挟まるように'(S1,S2) :-
        atom_chars(S1,L),
        append(L0,['/'|R],L),
        \+(append(_,[' '|_],L0)),
        \+(append(_,['/'|_],R)),
        append(L0,['/i/'|R],L2),
        atom_chars(S2,L2),!.
'最後の「/」の後に「i/」が挟まるように'(S1,S2) :-
        concat_atom(['i/',S1],S2),).