我正在尝试使用 Apache 和 fastcgi 运行我的第一个 Perl Catalyst 应用程序。
启动服务器没问题,我可以看到应用程序的主页。所有图像/javascript 均已正确加载(因此,我假设静态内容已正确提供)。
由于我不明白动态内容的原因,我得到了 404:例如当尝试访问 www.webapp.org/search 时,我收到“在此服务器上找不到请求的 URL/search。”
好的,这是我如何设置静态内容的别名,
Alias /static /webapp/root/static/
Alias / /webapp/script/webapp_fastcgi.pl
我设置文档根目录
DocumentRoot /webapp/
此外,我还有一个
<Location />
Options +ExecCGI
Order allow,deny
Allow from all
AddHandler fcgid-script .pl
</Location>
和指令
<Files /webapp/script/webapp_fastcgi.pl>
PassEnv PERL5LIB
SetHandler fastcgi-script
</Files>
配置文件中没有其他内容。
如何添加指令以允许提供动态内容 (www.webapp.com/search)?
提前非常感谢!
最佳答案
我在 AddHandler 部分看到一个空格。请检查您的配置文件是否有拼写错误。
AddHandler fcgid-script .pl
如果您还没有阅读此内容,请阅读:
http://wiki.catalystframework.org/wiki/deployment/apache_fastcgi
对于开发工作,您可以使用 Catalyst,无需 apache 麻烦:http://search.cpan.org/~mramberg/Catalyst-Runtime-5.80012/lib/Catalyst/Engine/FastCGI.pm#Standalone_FastCGI_Server
假设 apxs 将 mod_fastcgi.so 安装到/usr/local/apache/libexec 中,请将以下内容添加到 Apache .conf 文件中:
LoadModule fastcgi_module libexec/mod_fastcgi.so
<IfModule mod_fastcgi.c>
FastCgiExternalServer /tmp/myapp.fcgi -host myhost:8081
Alias /myapp/ /tmp/myapp.fcgi/
</IfModule>
关于perl - 为什么运行 Apache+FastCGI 的 Catalyst 应用程序不提供动态内容?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14854594/