すでに述べたように、サーバーが に対するリクエストを処理することlead/
、つまりこれらのリクエストをlead.php
などに転送することを確認する必要があります。これがどのように行われるかは、通常、使用されるサーバー側の言語ではなく、サーバー ソフトウェアに依存します。たとえば、グーグルで簡単に検索すると、次のリンクが見つかりました。
- Apache mod_rewrite を使用して末尾のスラッシュを削除します
- Apache のデフォルト ディレクトリ インデックス ファイルを使用しているときに、URL から末尾のスラッシュを削除するにはどうすればよいですか?
何Backbone.Router
もする必要がないからです。Backbone.history
先頭のスラッシュと末尾の空白をルートから自動的に削除します。つまり、 と の両方にmain-contact
一致します。以下に短い例を示します。#main-contact
#/main-contact
<!doctype html>
<html lang="en">
<head>
<meta charset="utf-8">
<title></title>
</head>
<body>
<ul>
<li><a href="#/home">Home</a></li>
<li><a href="#/help">Help</a></li>
<li><a href="#/about">About</a></li>
</ul>
<div id="message"></div>
<script src="http://code.jquery.com/jquery-1.9.1.min.js"></script>
<script src="https://raw.github.com/documentcloud/underscore/master/underscore.js"></script>
<script src="https://raw.github.com/documentcloud/backbone/master/backbone.js"></script>
<script type="text/javascript">
$(function () {
var MyRouter = Backbone.Router.extend({
routes: {
"home": "home",
"help": "help",
"about": "about"
},
home: function () { this.msg("home"); },
help: function () { this.msg("help"); },
about: function () {this.msg("about"); },
msg: function(m) { $("#message").text(m); }
});
new MyRouter();
Backbone.history.start();
});
</script>
</body>
</html>
注: 上記の例は、ローカル ファイルから実行してテストしただけです。