#8953 closed defect (duplicate)
Absolute href are broken if trac is installed in root path
Reported by: | anonymous | Owned by: | Catalin BALAN |
---|---|---|---|
Priority: | normal | Component: | MenusPlugin |
Severity: | normal | Keywords: | href |
Cc: | Trac Release: | 0.12 |
Description (last modified by )
Hi,
If an absolute href is broken trac is installed at root of the domain.
For exemple, if you install your trac at http://trac.myproject.org/
and configure
[mainnav] wiki.href = /wiki/Home
then TracMenus generates href 'wiki/Home'. This broke the link. (wiki is a netloc).
The offending code is : http://trac-hacks.org/browser/menusplugin/0.11/tracmenus/web_ui.py#L139
menu[name]['label']=menu[name].setdefault('label', html.a())(href=value.startswith('/') and req.href()+value or value)
reg.href()
returns '/'. You should trim beginning '' in the resulting href
.
Regards, Étienne
Attachments (0)
Change History (7)
comment:1 Changed 13 years ago by
Description: | modified (diff) |
---|---|
Resolution: | → duplicate |
Status: | new → closed |
comment:2 Changed 13 years ago by
comment:3 Changed 13 years ago by
comment:4 Changed 13 years ago by
comment:5 Changed 13 years ago by
comment:6 Changed 13 years ago by
comment:7 Changed 13 years ago by
(In [11166]) Fixes #7399, Refs #7680, #8877, #8953: Yet another attempt to fix invalid links when req.href = '/'
. If the href
for a menu item specifies a relative path, the trailing forward slashes are stripped from req.href()
so that the two cases are handled: 1) req.href()
is '/'
and 2) req.href()
is '/somepath'
.
Duplicate of #8877, but thanks for the hint at a solution.