#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 14 years ago by
| Description: | modified (diff) | 
|---|---|
| Resolution: | → duplicate | 
| Status: | new → closed | 
comment:2 Changed 14 years ago by
comment:3 Changed 14 years ago by
comment:4 Changed 14 years ago by
comment:5 Changed 14 years ago by
comment:6 Changed 14 years ago by
comment:7 Changed 14 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.