mod_rewriteの設定

.htaccessは以下のような感じかな。渡されたパラメータ"action"の内容をdispatcher.phpで解析して、actionNameを組み立ててControllerに渡すイメージ。

DirectoryIndex dispatcher.php
RewriteEngine on
RewriteRule ^index.(html|htm|php)$ dispatcher.php?action=home
RewriteRule ^([0-9a-zA-Z]+)/?$ dispatcher.php?action=$1
RewriteRule ^([0-9a-zA-Z]+)/([0-9a-zA-Z]+)\.html$ dispatcher.php?action=$1_$2
  • アクセスがあった場合dispatcher.phpが起動する
  • Indexへのアクセスはdispatcher.php?action=homeに置換する
  • /hoge/へのアクセスはdispatcher.php?action=hogeに置換する
  • /hoge/hogehoge.htmlへのアクセスはdispatcher.php?action=hoge_hogehogeに置換する

多分これだけだとカバーしきれないのでそのうち直すと思う。