git/list[1] front-page[2] threads[3] people[4] search[5] about
 

Re: gitweb sets incorrect <base> header

From
Jakub Narebski <jnareb@gmail.com>
Date
Apr 29, 2009, 09:33 UTC
Message-ID
<m3k553oldj.fsf@localhost.localdomain>
In-Reply-To
<877i15uf14.fsf@write-only.cryp.to>
Peter Simons <simons@cryp.to> writes:
Show 12 quoted lines
> Hi,
> 
> after a recent gitweb update to revision v1.6.3-rc3-12-gb79376c, the CGI now
> generates an incorrect <base> header. For example, the first "patch" on the
> page
> 
>   http://git.cryp.to/fastcgi/commitdiff/9ad9965b3fa293c458df14391f181f2f8f1197cd
> 
> erroneously refer to http://git.cryp.to/cgi-bin/gitweb.cgi#patch1, but that
> page doesn't exist. It appears that $base_url is not determined correctly.
> 
> Does anyone have a clue how that problem can be fixed?
See gitweb/README:
 * $my_url, $my_uri
   Full URL and absolute URL of gitweb script;
   in earlier versions of gitweb you might have need to set those
   variables, now there should be no need to do it.

Or you can set up $base_url in your gitweb configuration file (which is not mentioned in the gitweb/README, unfortunately).

Since 81d3fe9 (gitweb: fix wrong base URL when non-root DirectoryIndex) by Giuseppe Bilotta (I have CC-ed him) gitweb tries to set $base_url using $cgi->url(-base => 1) . $ENV{'SCRIPT_NAME'} if we use $path_info, and if both $my_url and $my_uri begin with $path_info.

I do not know CGI.pm well enough to think up a better solution, but
when $base_url was introduced I have posted email on git mailing list
about slight mismatch between what CGI.pm thinks as absolute URL and
the notion of absolute URL and absolute _paths_ in appropriate RFC,
see e.g. 
  http://thread.gmane.org/gmane.comp.version-control.git/107344/focus=107437
  http://thread.gmane.org/gmane.comp.version-control.git/107898/focus=108010
P.S. I didn't look at the site in question.
-- 
Jakub Narebski
Poland
ShadeHawk on #git
Previous: Giuseppe BilottaNext: Peter Simons
Message 3 of 4 in “gitweb sets incorrect <base> header”
  1. Peter SimonsApr 28, 2009
  2. Giuseppe BilottaApr 29, 2009
  3. Jakub NarebskiApr 29, 2009
  4. Peter SimonsApr 30, 2009

Read the whole thread, see it on lore, or plain text.

$ cat FOOTERMessages come from the public archive at lore.kernel.org/git, fetched every hour. The front page is chosen and written each morning by an AI editor and can be wrong; the threads themselves are the record. About and API. For agents: an MCP server at https://gitlist.dev/mcp, and any thread, story or person page as Markdown by adding .md to its URL (or sending Accept: text/markdown). Details in /llms.txt.