Now the feature 'pathinfo' configuration only applies to the project list. All other URLs are generated in the form the webpage was called itself. Signed-off-by: Martin Waitz <tali@xxxxxxxxxxxxxx> --- gitweb/gitweb.perl | 11 +++++++++-- 1 files changed, 9 insertions(+), 2 deletions(-) diff --git a/gitweb/gitweb.perl b/gitweb/gitweb.perl index 0ff6f7c..70246de 100755 --- a/gitweb/gitweb.perl +++ b/gitweb/gitweb.perl @@ -206,6 +206,8 @@ our $git_version = qx($GIT --version) =~ $projects_list ||= $projectroot; +our $use_pathinfo_url = gitweb_check_feature('pathinfo'); + # ====================================================================== # input validation and dispatch our $action = $cgi->param('a'); @@ -226,6 +228,8 @@ if (defined $project) { undef $project; die_error(undef, "No such project"); } + # we got called without PATH_INFO, let's keep it that way. + $use_pathinfo_url = 0; } our $file_name = $cgi->param('f'); @@ -308,6 +312,10 @@ sub evaluate_path_info { undef $project; return; } + + # we were called using a PATH_INFO URL, let's keep it that way. + $use_pathinfo_url = 1; + # do not change any parameters if an action is given using the query string return if $action; $path_info =~ s,^$project/*,,; @@ -402,8 +410,7 @@ sub href(%) { $params{'project'} = $project unless exists $params{'project'}; - my ($use_pathinfo) = gitweb_check_feature('pathinfo'); - if ($use_pathinfo) { + if ($use_pathinfo_url) { # use PATH_INFO for project name $href .= "/$params{'project'}" if defined $params{'project'}; delete $params{'project'}; -- 1.4.2.3 -- Martin Waitz - To unsubscribe from this list: send the line "unsubscribe git" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html