首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >让apache运行没有扩展名的perlscript

让apache运行没有扩展名的perlscript
EN

Webmasters Stack Exchange用户
提问于 2012-07-31 23:07:20
回答 2查看 1.1K关注 0票数 4

我想使用没有扩展的perlscript。f.e.“索引”而不是"index.pl“。

将DefaultType-指令从text/平原更改为application/x并不奏效。服务器提供的不是运行脚本,而是下载其源代码。

我不太确定改变这个指令是否正确。在没有扩展的情况下,告诉apache阅读shebang行听起来要好得多。

我希望在这个问题上有更多经验的人能帮助我。

EN

回答 2

Webmasters Stack Exchange用户

发布于 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::注册表,可以使用如下示例所示的配置:

代码语言:javascript
复制
# 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代理从某个位置到应用程序的所有内容。

有太多的方法可以枚举其中的每一个,而不知道您的配置。

票数 2
EN

Webmasters Stack Exchange用户

发布于 2012-08-01 18:35:45

您必须使用重写将没有名称的脚本映射到它们的perl等价物。例如,http://EXAMPLE.COM/mypage将映射到mypage.pl。(其中example.com是您的域站点)

票数 0
EN
页面原文内容由Webmasters Stack Exchange提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://webmasters.stackexchange.com/questions/32861

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档