git.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Jakub Narebski <jnareb@gmail.com>
To: "José María Escartín Esteban" <ripero84@gmail.com>
Cc: git@vger.kernel.org
Subject: Re: Static gitweb content when using pathinfo
Date: Sat, 14 Apr 2012 19:19:18 +0200	[thread overview]
Message-ID: <201204141919.19285.jnareb@gmail.com> (raw)
In-Reply-To: <201204052314.10606.jnareb@gmail.com>

On Thu, 5 Apr 2012, Jakub Narebski wrote:
> On Thu, 5 Apr 2012, José María Escartín Esteban wrote:
> > Hi,
> > 
> > I'm running gitweb in a server.example.com/gitweb/ scenario.  If I don't enable
> > pathinfo everything works fine, but when I enable pathinfo the static content
> > stops showing up in the browser.
> > 
> > I'm not an HTML or perl expert, but I think that this may be due to a missing
> > slash in the construction of the base tag:  Using the upstream script I am getting
> > 
> > <base href="http://server.example.com/gitweb" />
> > 
> > and no static content.  Once I tune the script to add a final slash to the url
> > 
> > <base href="http://server.example.com/gitweb/" />
> > 
> > the static content shows up again.
>
> How do you deploy gitweb, what is your web server configuration, and
> what is the URL of main gitweb page (using placeholders like 'example.com'
> or 'foo')?

Ping?

[...]

> There might be problem if you configured your web server to serve gitweb
> using it as a handler for subdirectory, so the script name does not need
> to appear in URL, e.g.
> 
>   http://localhost/cgi-bin/gitweb
> 
> which would require the following base element
> 
>   <base href="http://localhost/cgi-bin/gitweb/" />

[...]

> > Once I tune the script to add a final slash to the url
> > 
> > <base href="http://server.example.com/gitweb/" />
> > 
> > the static content shows up again.
> 
> By "tune the script" do you mean editing gitweb.cgi, or adding setting
> $base_url to gitweb configuration file, see gitweb.conf(5):
> 
>   $base_url
>      Base  URL  for  relative  URLs  in  pages generated by gitweb, (e.g.
>      $logo, $favicon, @stylesheets if they are relative URLs), needed and
>      used  <base href="$base_url"> only for URLs with nonempty PATH_INFO.
>      Usually gitweb sets its value correctly, and there is no need to set
>      this  variable,  e.g.  to $my_uri or "/". See $per_request_config if
>      you need to override it anyway.
> 
> You can e.g. put
> 
>   $base_url .= '/' unless ($base_url =~ m!/$!);
> 
> in the gitweb configuration file to ensure that it ends with '/', whatever
> it is.

By the way, would the following proposed addition to gitweb.conf(5)
manpage would help your situation?

-------- >8 ---------- >8 ---------
Subject: [PATCH/RFC] gitweb.conf(5): When to set $base_url

Add a paragraph to description of $base_url variable in gitweb.conf(5)
manpage explaining when and why one might need to set it.

Based-on-report-by: José María Escartín Esteban <ripero84@gmail.com>
Signed-off-by: Jakub Narebski <jnareb@gmail.com>
---
 Documentation/gitweb.conf.txt |   14 ++++++++++++++
 1 files changed, 14 insertions(+), 0 deletions(-)

diff --git a/Documentation/gitweb.conf.txt b/Documentation/gitweb.conf.txt
index 7aba497..a2a6ddf 100644
--- a/Documentation/gitweb.conf.txt
+++ b/Documentation/gitweb.conf.txt
@@ -559,6 +559,20 @@ $base_url::
 	PATH_INFO.  Usually gitweb sets its value correctly,
 	and there is no need to set this variable, e.g. to $my_uri or "/".
 	See `$per_request_config` if you need to override it anyway.
++
+You would need to set this variable when using gitweb as a directory
+handler and using path_info-based URLs.  For example if your web
+server is set up in such way that full path to browse repositories is
+`http://git.example.com/gitweb` and static files are served from
+'/gitweb/static' directory with default values (e.g. `$logo` is
+`static/git-logo.png`), then you would need to set `$base_url` to
+(for example):
++
+----------------------------------------------------------------------
+our $base_url = "http://git.example.com/gitweb/";
+----------------------------------------------------------------------
++
+The trailing slash is required!
 
 
 CONFIGURING GITWEB FEATURES
-- 
1.7.9

  reply	other threads:[~2012-04-14 17:19 UTC|newest]

Thread overview: 6+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2012-04-05 13:54 Static gitweb content when using pathinfo José María Escartín Esteban
2012-04-05 21:14 ` Jakub Narebski
2012-04-14 17:19   ` Jakub Narebski [this message]
2012-04-16 15:18     ` José María Escartín Esteban
2012-04-17 12:30       ` Jakub Narebski
2012-04-24  7:01         ` José María Escartín Esteban

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=201204141919.19285.jnareb@gmail.com \
    --to=jnareb@gmail.com \
    --cc=git@vger.kernel.org \
    --cc=ripero84@gmail.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).