PHP MVC フレームワーク (Codeigniter、Laravel) と共に Backbone.js を使用しています。Pushstates を使用する場合に、PHP ルーターとバックボーン ルーターによって URL がどのように処理されるかについて混乱しています。(私はまだ pushstates の使用を開始しておらず、まだ hashbangs を使用しています#
)。私は単一ページ アプリケーションに取り組んでいるわけではありませんが、サイトは単一ページ アプリケーションのように機能する複数のページで構成されています。
問題:ページhttp://domain.com/user/user123
があり、リンクをクリックするとhttp://domain.com/user/user123#photos
AJAX 経由でいくつかの写真が読み込まれ、そのページを削除したい場合、リンクをクリックした後#
に に移動するユーザーがhttp://domain.com/user/user123/photos
URL を別のページにコピー アンド ペーストすることを決定する問題を予見します。ブラウザー タブにはエラー 404 ページが表示されます。これは、PHP フレームワーク ルーター(PHP ルーターがバックボーンの前に最初に URL 要求を処理すると正しく仮定した場合)がこの URL の存在を認識しないためです。この問題はどのように解決されるべきですか?
別の問題が発生すると思いますが、ユーザーがhttp://domain.com/user/user123/photos
直接アクセスしたときにビューをどのようにレンダリングする必要がありますか? PHP ビュー (ユーザーが URL を直接入力する場合) と backbone.js ビュー (ユーザーが からのリンクをクリックする場合) の両方で HTML コードを複製する必要がありますhttp://domain.com/user/user123
か? これは私にとって最適な解決策とは思えません。または、コードの重複を避けるために、ビューをバックボーンによって両方のケースで何らかの方法でレンダリングできますか?
お知らせ下さい :)