在apache中将脚本和静态内容与位置标签混合

我想configurationApache发送大部分的URI到我的mod_perl应用程序,除了几个文件,我想使用默认处理程序服务。 (发送一个静态文件)

我希望所有的http://myserver.com/xxxxx通过/,/index.html,robots.txt和一些子文件夹静态地传递给mod_perl。

我已经尝试了一些不同的组合,但我不能得到它的工作。 似乎没有一种方法来否定<LocationMatches>等。

如果我定义了PERLvariables, 所有的东西都转到了脚本上,关掉了,我可以切断静态数据,但是显然脚本不起作用。

<Directory /home/httpd/plaintext> AllowOverride None <Files ~ "(index.html|robots.txt|favicon.gif)"> SetHandler default-script </Files> AddDefaultCharset utf-8 DirectorySlash off Order allow,deny Allow from all </Directory> <IfDefine PERL> <Location /> SetHandler perl-script PerlResponseHandler LinkCrunchDB::Handler </Location> </IfDefine> 

我想黑客模块使用内部redirect可能工作,但它是丑陋的。

我使用的是Gentoo Linux,其中包括module.d /文件夹中的所有文件,然后是vhost.d文件夹。 我已经检查了所有这些,并删除了任何目录或位置文件夹,没有任何!

非常感谢。

这是我对mod_perl长期以来的烦恼之一,最终为什么我很高兴Ruby on Rails出现了。

基本上,你不能分享你的Perl脚本的生活地点和静态内容的位置。 他们必须在不同的目录。 我经常为静态和dynamic内容欺骗并使用不同的主机名,从而消除了整个问题。 您也可以阅读更多关于如何将静态内容放在子目录中的信息 。