From mboxrd@z Thu Jan 1 00:00:00 1970 From: al at ila5.info (Al) Date: Wed, 04 Jul 2012 09:45:15 +0300 Subject: Getting Cgit Working on a Shared Host With Proper .htaccess Message-ID: <4FF3E67B.5070809@ila5.info> So I posted a request on StackOverflow[0], worded like so: > > So I just installed cgit on a shared host. I custom compiled it and use symlinks from $HOME/mydomain-and-public-www-folder.tld/g to $HOME/local/lib/cgit/prod to link $HOME/local/lib/cgit/${git describe} to a build from my updated builds to test the latest version. What does this include? > > [sharedhost]$ pwd > $HOME/local/lib/cgit/prod > [sharedhost]$ ls > .htaccess cgit.cgi cgit.css cgit.png lib/ > > Now, that looks all nice and good on the landing page when I put in https://mydomain.tld/g/ in the browser and I see the pretty cgit interface. When I click any link, I get the proper repos, but all the formatting is gone (the CSS, PNG, and JS files go bye-bye, and all the links are in the form https://mydomain.tld/g/cgit.cgi/randomrepo.git for all the URLs. Of course all the files in the prod path are not working, because the browser looks for things like https://mydomain.tld/g/cgit.cgi/cgit.css instead of the needed https://mydomain.tld/g/cgit.css. Now, this was my basic .htaccess file to get it working. > > [sharedhost]$ more .htaccess > # GIT BEGIN ########################################################### > > Options +Indexes +FollowSymLinks +ExecCGI > > Action fastcgi-script cgit.cgi > > SetEnv HTTP_CGIT_CONFIG /home/username/local/lib/cgit/cgit-conf/cgitrc > > RewriteEngine On > DirectoryIndex cgit.cgi > > # GIT END ############################################################ > > # AUTHENTICATION BEGIN ############################################### > AuthType Digest > AuthName "cgitdigestdomain" > AuthDigestDomain /cgitdigestdomain/ > AuthUserFile /home/username/local/lib/cgit/cgit-conf/.htpasswd > Require valid-user > # AUTHENTICATION END ################################################ > > I have tried a whole bunch of Rewrite patterns recommended like this [1] or that [2]. I am relatively new to more advanced .htaccess rules, so can someone point on how to remove cgit.cgi from the URLs with mod-rewrite and ensure css and png files in the same directory are accessible and QSA/query strings are handled properly. Sorry for the long post. I thought more detail would show why the obvious how-tos on this were not working for me. > > [1] Remove 'index.php' from URL with .htaccess > > [2] htaccess remove subdirectory from url I have tried the first recommended solution, amongst many many others while reading Apache httpd docs, and I feel I must be missing something. Can someone point out to me how to properly get a .htaccess file to remove cgit.cgi even with it in the same directory as underlying component files? I wanted to bundle my compilation of cgit in one place as I had to change some variables for my shared host, and I wanted to keep up with development of cgit. Any thoughts? [0] http://stackoverflow.com/questions/11316580/htaccess-remove-cgit-cgi-from-path/11317208#11317208