我想使用没有扩展的perlscript。f.e.“索引”而不是"index.pl“。
将DefaultType-指令从text/平原更改为application/x并不奏效。服务器提供的不是运行脚本,而是下载其源代码。
我不太确定改变这个指令是否正确。在没有扩展的情况下,告诉apache阅读shebang行听起来要好得多。
我希望在这个问题上有更多经验的人能帮助我。
发布于 2012-10-31 11:58:24
这完全取决于您如何编写Perl脚本(哪种框架、哪种样式)以及如何调用它们(CGI、FastCGI、mod_perl、PSGI、HTTP反向代理等等)。但是通常您可以根据目录或位置添加每个文件扩展名的Apache处理程序。
有关使用Catalyst框架在Apache上部署Perl脚本的不同方法的良好示例,请参阅:http://wiki.catalystframework.org/wiki/deployment#Apache
有关如何使用Mojo框架部署Perl脚本的示例,请参阅:https://github.com/kraih/mojo/wiki/Apache-deployment
如果您使用CGI,那么您的脚本将由perl运行,只要它们是可执行文件,并且在哈什邦线中有类似#!/usr/local/bin/perl的东西,但实际上建议不要再使用CGI了,除非您了解性能问题。
如果使用ModPerl::注册表,可以使用如下示例所示的配置:
# httpd.conf
PerlModule ModPerl::Registry
Alias /perl/ /home/httpd/perl/
<Location /perl>
SetHandler perl-script
PerlResponseHandler ModPerl::Registry
#PerlOptions +ParseHeaders
#PerlOptions -GlobalRequest
Options +ExecCGI
</Location>并将/perl中的所有内容解释为Perl脚本并由国防部_珀尔运行。
如果您使用PSGI或直接将HTTP与反向代理一起使用,则必须配置Apache来使用HTTP代理从某个位置到应用程序的所有内容。
有太多的方法可以枚举其中的每一个,而不知道您的配置。
发布于 2012-08-01 18:35:45
您必须使用重写将没有名称的脚本映射到它们的perl等价物。例如,http://EXAMPLE.COM/mypage将映射到mypage.pl。(其中example.com是您的域站点)
https://webmasters.stackexchange.com/questions/32861
复制相似问题