gitweb: fix wrong base URL when non-root DirectoryIndex
authorGiuseppe Bilotta <giuseppe.bilotta@gmail.com>
Sun, 15 Feb 2009 09:18:36 +0000 (10:18 +0100)
committerJunio C Hamano <gitster@pobox.com>
Tue, 17 Feb 2009 00:19:07 +0000 (16:19 -0800)
commit81d3fe9f4871e42ebd1af0221fa091fe5476e2f7
tree3b835817b804f1dc6471390b735fdfcdbe6d1248
parent4a5856cb249579845e24713225bc1749a9b20482
gitweb: fix wrong base URL when non-root DirectoryIndex

CGI::url() has some issues when rebuilding the script URL if the script
is a DirectoryIndex.

One of these issue is the inability to strip PATH_INFO, which is why
we had to do it ourselves.

Another issue is that the resulting URL cannot be used for the <base>
tag: it works if we're the DirectoryIndex at the root level, but not
otherwise.

We fix this by building the proper base URL ourselves, and improve the
comment about the need to strip PATH_INFO manually while we're at it.

Additionally t/t9500-gitweb-standalone-no-errors.sh had to be modified
to set SCRIPT_NAME variable (CGI standard states that it MUST be set,
and now gitweb uses it if PATH_INFO is not empty, as is the case for
some of tests in t9500).

Signed-off-by: Giuseppe Bilotta <giuseppe.bilotta@gmail.com>
Signed-off-by: Jakub Narebski <jnareb@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
gitweb/gitweb.perl
t/t9500-gitweb-standalone-no-errors.sh