パスの書き換えについて

この記事は公開日より10年以上経過しているため、現在の内容と異なる可能性があります。

a-blog cms のパス書き換え

a-blog cmsでは /themes/テーマ/ が ドキュメントルート的な扱いになります。 しかし、このままではパスがおかしくなるので、書き換えを行っています。 この機能より静的なサイトをそのまま themes に入れても動くようになります。

仕様

パスの書き換えには2種類あります。 ファイル指定するものと、アンカー類です。

ファイル指定するもの

  • <!-- include file="" -->
  • src属性をもつHTML要素 ( img|input|script|frame|iframe )
  • link要素
  • object, applet要素
  • background属性

パス書き換え仕様(ファイル指定)

  • 何らかのスキーマ(http://等)から始まっているものは書き換えない
  • "/"のみの場合は書き換えない
  • "/"から始まるパスはドキュメントルートから探索しみつかった場合は書き換えない
  • "/"から始まるパスでa-blog cms設置ディレクトリから探索しみつかった場合は書き換え
  • "/”から始まらない場合はそのテンプレートからの相対パスで検索しみつかった場合は書き換え
  • 上記のどれにも当てはまらない場合は継承テーマから探索しみつかった場合は書き換え

上から優先度が高くなります

アンカー類

  • a要素のhref属性
  • form要素のaction属性

パス書き換え仕様(アンカー類)

  • 空の場合は書き換えない
  • 何らかのスキーマ(http://等)から始まっているものは書き換えない
  • "#"から始まるパスは書き換えない
  • "/"から始まらないパスは書き換えない
  • ディレクトリをほってa-blog cmsが設置してある場合、そのディレクトリのパスから始まっている場合は書き換えない
  • 上記のどれにも当てはまらない場合は、ブログコードからのパスに書き換える

上から優先度が高くなります

以上の仕様になります。 現状、仕様、裏側など情報が少ないので充実するようしていきたいです。

同じタグ付けがされている記事