diff --git a/trac/web/chrome.py b/trac/web/chrome.py
|
a
|
b
|
|
| 484 | 484 | href = category_section.get(name + '.href') |
| 485 | 485 | if href: |
| 486 | 486 | if href.startswith('/'): |
| 487 | | href = req.href() + href |
| | 487 | href = req.href().rstrip('/') + href |
| 488 | 488 | if label: |
| 489 | 489 | item = tag.a(label) # create new label |
| 490 | 490 | elif not item: |
diff --git a/trac/web/main.py b/trac/web/main.py
|
a
|
b
|
|
| 181 | 181 | target = req.path_info.rstrip('/').encode('utf-8') |
| 182 | 182 | if req.query_string: |
| 183 | 183 | target += '?' + req.query_string |
| 184 | | req.redirect(req.href() + target, permanent=True) |
| | 184 | req.redirect(req.href().rstrip('/') + target, |
| | 185 | permanent=True) |
| 185 | 186 | raise HTTPNotFound('No handler matched request to %s', |
| 186 | 187 | req.path_info) |
| 187 | 188 | |