CakePHPを利用したサイト作成で、URLの形式について相談です。


これまでのサイトでは
http://example.com/index.php?user_id=1
http://example.com/details.php?user_id=1
というURLを
http://example.com/1
http://example.com/1/details
と、mode_rewriteで変換していました。
各ユーザーのディレクトリ以下にコンテンツがあるような表示がしたいからです。(はてなの会員URLと同じようなイメージです)


しかし、CakePHPのURL規則になると
http://example.com/user/index/1
http://example.com/user/details/1
と言うような形になります。

こうすると、「各ユーザー以下にコンテンツがある」という印象は抱きませんし、URLにオリジナル性もでないと思います。
(index.php?user_id=1 とする表現と変わらない)

この事があって、今後作成するシステムでCakePHPを使用できないのですが、何か解決策はないでしょうか?
CakePHPでポータルサイトを構築した経験がある方や良いアイディアがある方はアドバイスお願いします。
CakePHPは1.3.2を使用しています。

回答の条件
  • 1人2回まで
  • 登録:
  • 終了:2010/08/04 14:08:46
※ 有料アンケート・ポイント付き質問機能は2023年2月28日に終了しました。

回答1件)

質問者が未読の回答一覧

 回答者回答受取ベストアンサー回答時間
1 basasitarou 5 4 0 2010-08-04 12:14:07
  • id:tdoi
    mod_rewriteで書き換えるのではダメなのですか?
  • id:k27w
    CakePHPはすでにmode_rewriteを使っている状態ですが、更に変更できるのでしょうか?
  • id:tdoi
    外から来たURLを、CakePHP的に解釈できるようにmod_rewriteで書き換えてあげれば、いいですよ。
  • id:k27w
    app/webroot/.htaccessを

    RewriteRule ^(.*)$ index.php?url=$1 [QSA,L]

    RewriteRule ^(.*)/(.*)/(.*)$ index.php?url=$1/$3/$2 [QSA,L]

    のようにすれば、コントローラー・アクション・IDの位置を変える事が出来ました。
    自力で解決できましたので、質問は終了します。 コメントありがとうございました。

この質問への反応(ブックマークコメント)

「あの人に答えてほしい」「この質問はあの人が答えられそう」というときに、回答リクエストを送ってみてましょう。

これ以上回答リクエストを送信することはできません。制限について

回答リクエストを送信したユーザーはいません