アプリ版:「スタンプのみでお礼する」機能のリリースについて

CentOS4.4で、Apache2.0を使っています。

バーチャルホストを使っていて、ドメインによって表示を分けるのはうまくいっています。
以下の抜粋のように設定しています。
http://foofoo.com/cgi-bin/hoge/hage/wiki.cgi
http://foofoo.com/hoge/hage/wiki.cgi
は問題なく実行できています。

<VirtualHost *:80>
ServerAdmin xxxx@yyy.com
DocumentRoot /var/www/html
ServerName foofoo.com
ScriptAlias /hoge/hage/ "/var/www/cgi-bin/hoge/hage/"
</VirtualHost>


以下のように設定を変えても、
http://foofoo.com/cgi-bin/hoge/hage/
http://foofoo.com/hoge/hage/
へアクセスしても
You don't have permission to access /tech/wiki/ on this server.
となってしまいます。

<VirtualHost *:80>
ServerAdmin xxxx@yyy.com
DocumentRoot /var/www/html
ServerName foofoo.com
ScriptAlias /hoge/hage/ "/var/www/cgi-bin/hoge/hage/"
<Location /hoge/hage/>
DirectoryIndex wiki.cgi
</Location>
</VirtualHost>

バーチャルホストを使う場合のDirectoryIndexの設定方法を教えてください。
よろしくお願いいたします。

A 回答 (2件)

そのケースでしたら、次のようにします。



#まず、mod_rewriteを有効にしておいてください。

ScriptAliasの前に、

RewriteEngine on
RewriteRule ^/hoge/hoge/$ /hoge/hoge/wiki.cgi
RewriteRule ^/cgi-bin/hoge/hoge/$ /cgi-bin/hoge/hoge/wiki.cgi

と追加してみてください。(DirectoryIndexの行は削除して構いません)

cgiにDirectoryIndexは効かないことが理由だと思います。
    • good
    • 0
この回答へのお礼

回答ありがとうございます。お礼が遅くなり申しわけありません。

RewriteEngineの使い方が悪いのか、うまくいきませんできた。
別の方法でうまくいきました。
<VirtualHost *:80>
..
<Directory /var/​www/hoge/hage/>
AllowOverride All
</Directory>
</VirtualHost>

として、
/var/​www/hoge/hage/.htacces を以下のようにしました。
ptions +ExecCGI

AddHandler cgi-script .cgi
DirectoryIndex hiki.cgi

<Files "hikiconf.rb">
deny from all
</Files>


ここではDirectoryIndexでうまくいっているので、httpd.confのほうでもうまくいくと思うのですが...。

とりあえずは自己解決です。継続して勉強します。

お礼日時:2007/04/18 19:33

いうまでもないことですが、restart/reloadはなさっていますよね。

。。

その時、およびアクセス時にerror.logになにか出力されていませんか…?
    • good
    • 0
この回答へのお礼

error.logにメッセージがありました。

attempt to invoke directory as script: /var/www/cgi-bin/hoge/hage/

少しググッてみると根がふかそうです。
解決された方いますか?

お礼日時:2007/04/09 15:34

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!