1diff --git a/pkg/handler/router.go b/pkg/handler/router.go
2index 3da812feb835f6d0e5ceed41bb688d45f34baae0..c8f89840effc9263911f7afc73b02722436b36f9 100644
3--- a/pkg/handler/router.go
4+++ b/pkg/handler/router.go
5@@ -36,11 +36,11 @@ mux.AddMiddleware(ext.Log)
6
7 mux.HandleFunc("/static/{file}", staticHandler)
8 mux.HandleFunc("/{name}/about/{$}", gitHandler.About)
9- mux.HandleFunc("/{name}", gitHandler.Summary)
10+ mux.HandleFunc("/{name}/", gitHandler.Summary)
11 mux.HandleFunc("/{name}/refs/{$}", gitHandler.Refs)
12 mux.HandleFunc("/{name}/tree/{ref}/{rest...}", gitHandler.Tree)
13 mux.HandleFunc("/{name}/blob/{ref}/{rest...}", gitHandler.Blob)
14- mux.HandleFunc("/{name}/log/{ref}", gitHandler.Log)
15+ mux.HandleFunc("/{name}/log/{ref}/", gitHandler.Log)
16 mux.HandleFunc("/config", configHandler)
17 mux.HandleFunc("/about", aboutHandler.About)
18 mux.HandleFunc("/", gitHandler.List)
19diff --git a/templates/gititemrefs.qtpl b/templates/gititemrefs.qtpl
20index 09d7446a2dfa524db36d016a9ffcffafc57d504b..ff1561b7626970689ef318510c4610dbf20d5623 100644
21--- a/templates/gititemrefs.qtpl
22+++ b/templates/gititemrefs.qtpl
23@@ -21,8 +21,8 @@ {%s t.Name().Short() %}
24 </div>
25 <div class="col-8">
26 <div class="float-end">
27- <a href="/{%s name %}/tree/{%s t.Name().Short() %}">tree</a>
28- <a href="/{%s name %}/log/{%s t.Name().Short() %}">log</a>
29+ <a href="/{%s name %}/tree/{%s t.Name().Short() %}/">tree</a>
30+ <a href="/{%s name %}/log/{%s t.Name().Short() %}/">log</a>
31 </div>
32 </div>
33 </div>
34@@ -41,8 +41,8 @@ {%s b.Name().Short() %}
35 </div>
36 <div class="col-8">
37 <div class="float-end">
38- <a href="/{%s name %}/tree/{%s b.Name().Short() %}">tree</a>
39- <a href="/{%s name %}/log/{%s b.Name().Short() %}">log</a>
40+ <a href="/{%s name %}/tree/{%s b.Name().Short() %}/">tree</a>
41+ <a href="/{%s name %}/log/{%s b.Name().Short() %}/">log</a>
42 </div>
43 </div>
44 </div>
45diff --git a/templates/gititemrefs.qtpl.go b/templates/gititemrefs.qtpl.go
46index 62c1725248bccf069a7ab9b0f1fa10816fb1bc90..b00736ecb57ca6d0fca34676cb9e455591c92d7a 100644
47--- a/templates/gititemrefs.qtpl.go
48+++ b/templates/gititemrefs.qtpl.go
49@@ -94,7 +94,7 @@ qw422016.N().S(`/tree/`)
50 //line gititemrefs.qtpl:24
51 qw422016.E().S(t.Name().Short())
52 //line gititemrefs.qtpl:24
53- qw422016.N().S(`">tree</a>
54+ qw422016.N().S(`/">tree</a>
55 <a href="/`)
56 //line gititemrefs.qtpl:25
57 qw422016.E().S(name)
58@@ -103,7 +103,7 @@ qw422016.N().S(`/log/`)
59 //line gititemrefs.qtpl:25
60 qw422016.E().S(t.Name().Short())
61 //line gititemrefs.qtpl:25
62- qw422016.N().S(`">log</a>
63+ qw422016.N().S(`/">log</a>
64 </div>
65 </div>
66 </div>
67@@ -150,7 +150,7 @@ qw422016.N().S(`/tree/`)
68 //line gititemrefs.qtpl:44
69 qw422016.E().S(b.Name().Short())
70 //line gititemrefs.qtpl:44
71- qw422016.N().S(`">tree</a>
72+ qw422016.N().S(`/">tree</a>
73 <a href="/`)
74 //line gititemrefs.qtpl:45
75 qw422016.E().S(name)
76@@ -159,7 +159,7 @@ qw422016.N().S(`/log/`)
77 //line gititemrefs.qtpl:45
78 qw422016.E().S(b.Name().Short())
79 //line gititemrefs.qtpl:45
80- qw422016.N().S(`">log</a>
81+ qw422016.N().S(`/">log</a>
82 </div>
83 </div>
84 </div>
85diff --git a/templates/gititemsummary.qtpl b/templates/gititemsummary.qtpl
86index 9a3e2ee56526ef12d8b10e699d8ca98a3446cb88..e3d3a0828874c51b78a70cc172d34a7fada73a1e 100644
87--- a/templates/gititemsummary.qtpl
88+++ b/templates/gititemsummary.qtpl
89@@ -23,8 +23,8 @@ {%s t.Name().Short() %}
90 </div>
91 <div class="col-8">
92 <div class="float-end">
93- <a href="/{%s name %}/tree/{%s t.Name().Short() %}">tree</a>
94- <a href="/{%s name %}/log/{%s t.Name().Short() %}">log</a>
95+ <a href="/{%s name %}/tree/{%s t.Name().Short() %}/">tree</a>
96+ <a href="/{%s name %}/log/{%s t.Name().Short() %}/">log</a>
97 </div>
98 </div>
99 </div>
100@@ -43,8 +43,8 @@ {%s b.Name().Short() %}
101 </div>
102 <div class="col-8">
103 <div class="float-end">
104- <a href="/{%s name %}/tree/{%s b.Name().Short() %}">tree</a>
105- <a href="/{%s name %}/log/{%s b.Name().Short() %}">log</a>
106+ <a href="/{%s name %}/tree/{%s b.Name().Short() %}/">tree</a>
107+ <a href="/{%s name %}/log/{%s b.Name().Short() %}/">log</a>
108 </div>
109 </div>
110 </div>
111diff --git a/templates/gititemsummary.qtpl.go b/templates/gititemsummary.qtpl.go
112index cf1c07cac00b465234917bc9e5a92e2ec7eab62b..ad025f7e8a8343850615d1c5e27c1f2cbf89d68c 100644
113--- a/templates/gititemsummary.qtpl.go
114+++ b/templates/gititemsummary.qtpl.go
115@@ -98,7 +98,7 @@ qw422016.N().S(`/tree/`)
116 //line gititemsummary.qtpl:26
117 qw422016.E().S(t.Name().Short())
118 //line gititemsummary.qtpl:26
119- qw422016.N().S(`">tree</a>
120+ qw422016.N().S(`/">tree</a>
121 <a href="/`)
122 //line gititemsummary.qtpl:27
123 qw422016.E().S(name)
124@@ -107,7 +107,7 @@ qw422016.N().S(`/log/`)
125 //line gititemsummary.qtpl:27
126 qw422016.E().S(t.Name().Short())
127 //line gititemsummary.qtpl:27
128- qw422016.N().S(`">log</a>
129+ qw422016.N().S(`/">log</a>
130 </div>
131 </div>
132 </div>
133@@ -154,7 +154,7 @@ qw422016.N().S(`/tree/`)
134 //line gititemsummary.qtpl:46
135 qw422016.E().S(b.Name().Short())
136 //line gititemsummary.qtpl:46
137- qw422016.N().S(`">tree</a>
138+ qw422016.N().S(`/">tree</a>
139 <a href="/`)
140 //line gititemsummary.qtpl:47
141 qw422016.E().S(name)
142@@ -163,7 +163,7 @@ qw422016.N().S(`/log/`)
143 //line gititemsummary.qtpl:47
144 qw422016.E().S(b.Name().Short())
145 //line gititemsummary.qtpl:47
146- qw422016.N().S(`">log</a>
147+ qw422016.N().S(`/">log</a>
148 </div>
149 </div>
150 </div>
151diff --git a/templates/gitlist.qtpl b/templates/gitlist.qtpl
152index 937ba224e5709efc8c22623cf9b382ada77c2ba9..ff2eca9942e5a5fe2f053e1842bda33993d33977 100644
153--- a/templates/gitlist.qtpl
154+++ b/templates/gitlist.qtpl
155@@ -18,14 +18,14 @@ <div class="event-list">
156 {% for _, r := range p.Respositories %}
157 <div class="event">
158 <h4>
159- <a href="/{%s r.Name %}">{%s r.Name %}</a>
160+ <a href="/{%s r.Name %}/">{%s r.Name %}</a>
161 </h4>
162 </hr>
163 <p>{%s r.Description %}</p>
164 <p>
165- <a href="/{%s r.Name %}/log/{%s r.Ref %}">log</a>
166- <a href="/{%s r.Name %}/tree/{%s r.Ref %}">tree</a>
167- <a href="/{%s r.Name %}/refs">refs</a>
168+ <a href="/{%s r.Name %}/log/{%s r.Ref %}/">log</a>
169+ <a href="/{%s r.Name %}/tree/{%s r.Ref %}/">tree</a>
170+ <a href="/{%s r.Name %}/refs/">refs</a>
171 </p>
172 </div>
173 {% endfor %}
174diff --git a/templates/gitlist.qtpl.go b/templates/gitlist.qtpl.go
175index 435626eee0d43f1f780dcae81de5fea21a7f8017..f38c404b328255e0ab6d6fdc932b31e31465b723 100644
176--- a/templates/gitlist.qtpl.go
177+++ b/templates/gitlist.qtpl.go
178@@ -110,7 +110,7 @@ <a href="/`)
179 //line gitlist.qtpl:21
180 qw422016.E().S(r.Name)
181 //line gitlist.qtpl:21
182- qw422016.N().S(`">`)
183+ qw422016.N().S(`/">`)
184 //line gitlist.qtpl:21
185 qw422016.E().S(r.Name)
186 //line gitlist.qtpl:21
187@@ -131,7 +131,7 @@ qw422016.N().S(`/log/`)
188 //line gitlist.qtpl:26
189 qw422016.E().S(r.Ref)
190 //line gitlist.qtpl:26
191- qw422016.N().S(`">log</a>
192+ qw422016.N().S(`/">log</a>
193 <a href="/`)
194 //line gitlist.qtpl:27
195 qw422016.E().S(r.Name)
196@@ -140,12 +140,12 @@ qw422016.N().S(`/tree/`)
197 //line gitlist.qtpl:27
198 qw422016.E().S(r.Ref)
199 //line gitlist.qtpl:27
200- qw422016.N().S(`">tree</a>
201+ qw422016.N().S(`/">tree</a>
202 <a href="/`)
203 //line gitlist.qtpl:28
204 qw422016.E().S(r.Name)
205 //line gitlist.qtpl:28
206- qw422016.N().S(`/refs">refs</a>
207+ qw422016.N().S(`/refs/">refs</a>
208 </p>
209 </div>
210 `)
211diff --git a/templates/navbar.qtpl b/templates/navbar.qtpl
212index 4d2a6a93af93586389c21b685b1df89c818c39f5..9e2796166f9a668ee427deaaf977e186df2e262f 100644
213--- a/templates/navbar.qtpl
214+++ b/templates/navbar.qtpl
215@@ -27,11 +27,11 @@ <div class="navbar-nav">
216 <a class="nav-link{%= insertIfEqual(s, Git) %}" href="/">git</a>
217 {% comment %}
218 Add this back once needed
219- <a class="nav-link{%= insertIfEqual(s, List) %}" href="/list">list</a>
220+ <a class="nav-link{%= insertIfEqual(s, List) %}" href="/list/">list</a>
221 {% endcomment %}
222 {% comment %}
223 Add this back if needed
224- <a class="nav-link{%= insertIfEqual(s, About) %}" href="/about">about</a>
225+ <a class="nav-link{%= insertIfEqual(s, About) %}" href="/about/">about</a>
226 {% endcomment %}
227 <a class="nav-link{%= insertIfEqual(s, Config) %}" href="/config">config</a>
228 </div>
229@@ -45,19 +45,19 @@ </div>
230 <div class="row">
231 <ul class="nav">
232 <li class="nav-item">
233- <a class="nav-link{%= insertIfEqual(s, Readme) %}" aria-current="page" href="/{%s name %}/about">about</a>
234+ <a class="nav-link{%= insertIfEqual(s, Readme) %}" aria-current="page" href="/{%s name %}/about/">about</a>
235 </li>
236 <li class="nav-item">
237- <a class="nav-link{%= insertIfEqual(s, Log) %}" aria-current="page" href="/{%s name %}/log/{%s ref %}">log</a>
238+ <a class="nav-link{%= insertIfEqual(s, Log) %}" aria-current="page" href="/{%s name %}/log/{%s ref %}/">log</a>
239 </li>
240 <li class="nav-item">
241- <a class="nav-link{%= insertIfEqual(s, Summary) %}" aria-current="page" href="/{%s name %}">summary</a>
242+ <a class="nav-link{%= insertIfEqual(s, Summary) %}" aria-current="page" href="/{%s name %}/">summary</a>
243 </li>
244 <li class="nav-item">
245 <a class="nav-link{%= insertIfEqual(s, Refs) %}" aria-current="page" href="/{%s name %}/refs">refs</a>
246 </li>
247 <li class="nav-item">
248- <a class="nav-link{%= insertIfEqual(s, Tree) %}" aria-current="page" href="/{%s name %}/tree/{%s ref %}">tree</a>
249+ <a class="nav-link{%= insertIfEqual(s, Tree) %}" aria-current="page" href="/{%s name %}/tree/{%s ref %}/">tree</a>
250 </li>
251 </ul>
252 </div>
253diff --git a/templates/navbar.qtpl.go b/templates/navbar.qtpl.go
254index 1eacd6a7b0142adb82f16595cfc41d4dd9fafac5..28e6f8e2b587b4c7fffb019f9e02f42231496760 100644
255--- a/templates/navbar.qtpl.go
256+++ b/templates/navbar.qtpl.go
257@@ -161,7 +161,7 @@ qw422016.N().S(`" aria-current="page" href="/`)
258 //line navbar.qtpl:48
259 qw422016.E().S(name)
260 //line navbar.qtpl:48
261- qw422016.N().S(`/about">about</a>
262+ qw422016.N().S(`/about/">about</a>
263 </li>
264 <li class="nav-item">
265 <a class="nav-link`)
266@@ -176,7 +176,7 @@ qw422016.N().S(`/log/`)
267 //line navbar.qtpl:51
268 qw422016.E().S(ref)
269 //line navbar.qtpl:51
270- qw422016.N().S(`">log</a>
271+ qw422016.N().S(`/">log</a>
272 </li>
273 <li class="nav-item">
274 <a class="nav-link`)
275@@ -187,7 +187,7 @@ qw422016.N().S(`" aria-current="page" href="/`)
276 //line navbar.qtpl:54
277 qw422016.E().S(name)
278 //line navbar.qtpl:54
279- qw422016.N().S(`">summary</a>
280+ qw422016.N().S(`/">summary</a>
281 </li>
282 <li class="nav-item">
283 <a class="nav-link`)
284@@ -213,7 +213,7 @@ qw422016.N().S(`/tree/`)
285 //line navbar.qtpl:60
286 qw422016.E().S(ref)
287 //line navbar.qtpl:60
288- qw422016.N().S(`">tree</a>
289+ qw422016.N().S(`/">tree</a>
290 </li>
291 </ul>
292 </div>