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

[PATCHv4 1/2] gitweb: make static files accessible with PATH_INFO

From
Giuseppe Bilotta <giuseppe.bilotta@gmail.com>
Date
Jan 28, 2009, 10:50 UTC
Message-ID
<1233139832-24124-1-git-send-email-giuseppe.bilotta@gmail.com>

When gitweb is invoked with PATH_INFO and links to static files such as the CSS and favicon/shortcut icon are relative URLs with relative paths (as is the case when using the default Makefile), these files are not accessible beyond the project list and summary page (e.g. in shortlog or commit view).

Fix this by adding a <base> tag pointing to the script's own URL, that ensure that all relative paths will be based on this.

Signed-off-by: Giuseppe Bilotta <giuseppe.bilotta@gmail.com>
---
 gitweb/gitweb.perl |    5 +++++
 1 files changed, 5 insertions(+), 0 deletions(-)
diff --git a/gitweb/gitweb.perl b/gitweb/gitweb.perl
index 931db4f..f7aaf9a 100755
--- a/gitweb/gitweb.perl
+++ b/gitweb/gitweb.perl
@@ -2901,6 +2901,11 @@ sub git_header_html {
 <meta name="robots" content="index, nofollow"/>
 <title>$title</title>
 EOF
+# the stylesheet, favicon etc urls won't work correctly with path_info unless we
+# set the appropriate base URL
+	if ($ENV{'PATH_INFO'}) {
+		print "<base href='".esc_url($my_url)."' />\n";
+	}
 # print out each stylesheet that exist
 	if (defined $stylesheet) {
 #provides backwards capability for those people who define style sheet in a config file
-- 
1.5.6.5
Next: Giuseppe Bilotta
Message 1 of 3 in “[PATCHv4 1/2] gitweb: make static files accessible with PATH_INFO”
  1. Giuseppe BilottaJan 28, 2009
  2. 2/2 gitweb: webserver config for PATH_INFOGiuseppe Bilotta, Jan 28, 2009
  3. Jakub NarebskiJan 31, 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.