apache2とmarchurial

RewriteRuleの書き方がまずいようなので、以下のように変更

  • FollowSymLinksを追加。Rewriteに必要。
# hg.conf

Alias /hg /home/hg



  Order allow,deny
  Allow from all
  AllowOverride All
  Options ExecCGI FollowSymLinks
  AddHandler cgi-script .cgi


  • サンプルから、!-dを削除
# /home/hg/.htaccess
Options +ExecCGI
RewriteEngine On
#write base depending on where the base url lives
RewriteBase /hg
RewriteRule ^$ hgwebdir.cgi  [L]
# Send requests for files that exist to those files.
RewriteCond %{REQUEST_FILENAME} !-f
# Send requests for directories that exist to those directories.
#RewriteCond %{REQUEST_FILENAME} !-d
# Send requests to hgwebdir.cgi, appending the rest of url.
RewriteRule (.*) hgwebdir.cgi/$1  [QSA,L]