0

達成したいことを完全に説明する方法がわかりませんが、記入させてください。

ルーターにルートを登録しました。

routes: {
    "" : "home",
    "form/:formID/question/:questionID" : "showResults"
}

pushState を有効にしました

window.base = '/make/search/';
Backbone.history.start({pushState: true, root: base});

コードを直接使用して実行する場合。

router.navigate('form/87463636234/question/2', {trigger: true});

この URL にリダイレクトされます

http://example.com/make/search/form/87463636234/question/2

どちらが正しい。ええ、すべて正常に動作しますが、私が本当に望んでいたのは、アドレスバーからリンクにアクセスして、そのとおりに入力すると、ページが適切に読み込まれるようにすることです。通常、(#) ハッシュを使用してルートを完全にナビゲートします。 .

これは機能します:

http://example.com/make/search/#form/87463636234/question/2

しかし、ブラウザのアドレスバーにEnterキーを押して、URLからハッシュを取り除き、これを機能させたいと思います。

http://example.com/make/search/form/87463636234/question/2

残念ながら、今はそうではありません。エラー ページが表示されます。

あなたが私を助けてくれることを願っています。

前もって感謝します

更新:さらに調査した結果、書き換えルールが解決策のようですが、私はそれが苦手です。おそらく誰かがその方法を教えてくれます。ありがとう

4

1 に答える 1

1

を含むすべての URL で、バックボーン アプリケーションを使用して HTML ページを提供するように Web サーバーを構成する必要がありますhttp://example.com/make/search/form/87463636234/question/2。Web フレームワークを使用している場合は、404 エラーの代わりにこのページを返すように設定してください。

于 2013-07-23T09:41:34.870 に答える