我正在尝试使用Apache和fastcgi运行我的第一个Perl Catalyst应用程序。
启动服务器很好,我可以看到应用程序的主页面。所有图像/ javascripts都正确加载(因此,我假设静态内容正确提供)。
由于原因,我不明白动态内容给了我404:例如当我试图访问www.webapp.org/search时,我得到“在此服务器上找不到请求的URL /搜索。”
好的,这是我为静态内容和
设置别名的方法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)?
提前多多感谢!
答案 0 :(得分:2)
我在AddHandler部分看到一个空格。请检查您的配置文件是否有拼写错误。
AddHandler fcgid-script .pl
如果您还没有这样做,请阅读此内容:
http://wiki.catalystframework.org/wiki/deployment/apache_fastcgi
对于开发工作,您可以使用催化剂而不会出现麻烦: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>