我有一个 Rails 4 应用程序,它有一些发布到 Perl cgi 脚本的视图。perl 脚本通过一个指向名为“cgi-bin”的文件夹的符号链接来访问。当我通过符号链接导航到 perl 脚本时,它们被呈现为文本而不是执行(即:localhost:3000/cgi-bin/test.cgi),但是当我直接访问它们时,它们执行没有问题(即 localhost/路径/到/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。