ScriptAliasMatch /~(..*)/cgi-bin/(.*) /home/$1/public_html/cgi-bin/$2
と
AliasMatch /~(..*)/cgi-bin/(.*) /home/$1/public_html/cgi-bin/$2
の違いについて説明します。
結構説明してくれる所は少なく重要な情報なので覚えておいて損は無いものです。
いずれも上の記述はApacheの正規表現で記述されていますが
ScriptAliasMatchは指定したディレクトリ
(ここではユーザーごとのpublic_html以下の/cgi-binディレクトリ内)
にあるファイルをPerlで記述されたファイルと扱いすべて実行してしまいます。
AliasMatchは
AddHandler cgi-script .cgi .pl
で指定された通り拡張子が .cgi .plである物のみPerlで記述されたファイルと扱い実行してしまいます。
よってScriptAliasMatchでCGI実行用ディレクトリを指定してしまうと
DirectoryIndex index.html index.htm index.shtml index.php index.cgi
で記述した内容と矛盾してしまい結果的にindexを省略できなくなってしまいます。
0 Comments.