Perl cgi スクリプトにポストするいくつかのビューを持つ Rails 4 アプリがあります。perl スクリプトには、「cgi-bin」というフォルダへのシンボリック リンクを介してアクセスします。シンボリック リンクを介して perl スクリプトに移動すると、実行されるのではなくテキストとしてレンダリングされます (例: localhost:3000/cgi-bin/test.cgi) が、直接アクセスすると問題なく実行されます (例: localhost/ path/to/cgi-bin/test.cgi)。
私はos xでapache2を使用しています。ディレクトリ localhost/path/to/ には、次を含む .htaccess ファイルがあります。
# General Apache options
AddHandler fastcgi-script .fcgi
AddHandler cgi-script .cgi
Options +FollowSymLinks +ExecCGI
.htaccess ファイルには、localhost:3000/ にあるのとまったく同じ行があります。
また、httpd.conf 内のすべての AllowOverride のコメントを外しました。
Apacheのエラーログにエラーはありません。test.cgi への直接リンクにアクセスすると、apache のアクセス ログに新しい行が追加されます。シンボリック リンクを介してスクリプトにアクセスすると (テキストとしてレンダリングされます)、アクセス ログに行が追加されません。
このエラーが発生する理由は何ですか? このセットアップは、OS X の以前のバージョンの Rails では問題なく機能していましたが、最近 Mavericks にアップグレードし、Rails アプリケーションも v4.0 に更新する必要があると考えました。