Troubles using special characters in links with lighttpd

David Demelier demelier.david at gmail.com
Fri May 15 15:12:53 CEST 2015


On Fri, 2015-05-15 at 13:39 +0100, John Keeping wrote:
> On Fri, May 15, 2015 at 01:24:29PM +0100, John Keeping wrote:
> 
> 	<a href="/code/tree/C%20%20">C  </a>
> 
> So I think what's happening is that you rewrite the URL from:
> 
> 	/code/tree/C++
> 
> to:
> 
> 	/cgit.cgi?url=code/tree/C++
> 
> but now the path is in the query part not the path part and the escaping
> rules are different, so "+" translates to " ".
> 

Thanks for your quick answer!

Okay, I understand the problem. I can't remember where do I saw the
usage of url parameter instead.

I've switched to this instead :
$HTTP["host"] == "git.malikania.fr" {
        server.errorlog         =
"/var/log/lighttpd/cgit-error.log"                                                                                                                             
        accesslog.filename      = "/var/log/lighttpd/cgit-access.log"

        server.document-root = "/usr/local/www/cgit"
        cgi.assign = ( ".cgi" => "/usr/local/www/cgit/cgit.cgi" )
        index-file.names     = ( "cgit.cgi" )

        $HTTP["url"] =~ "^/(.*)\.git" {
                url.rewrite-once = (
                        "^(.*)?$" => "/cgit.cgi/$1"
                )
        }
}

I conditionnaly rewrite links only when searching for a directory
starting with .git (so that the cgit.css is not broken).

Works correctly now :-)

Only have to name my repositories with trailing .git though, if you have
an idea how I can improve that.

Thanks!



More information about the CGit mailing list