Archive for June of 2007

LXRのbaseurl

June 20, 2007
LXR (Linux Cross Reference)は設定ファイルの項目baseurlをもとに、
HTMLのbase要素を通じてスクリプトへのパスをブラウザに伝える。

もし、LXRを閉じたネットワークに設置して内部から利用し、
さらに外部からもSSHのポートフォワーディングなどで
利用する場合、色々なホスト名でアクセスされることになる。

しかし、単にbaseurlに"/lxr/"などと相対パスを書いても
base要素のhref属性としてはブラウザに正しく解釈されず、
おかしな挙動が起きてしまう。

この場合は、LXRのlib/LXR/Common.pmのbaseurlサブルーチンを

sub baseurl {
return('http://'.$ENV{'SERVER_NAME'}.
':'.$ENV{'SERVER_PORT'}.
$Conf->baseurl);
}


などと書き換えて絶対パスにしてやればよい。