我正在尝试将 Apache 配置为将大多数 URI 发送到我的 mod_perl 应用程序,但我想使用默认处理程序提供的一些文件除外。(发送静态文件)
我希望所有http://myserver.com/xxxxx都使用 /、/index.html、robots.txt 和一些静态服务的子文件夹转到 mod_perl。
我尝试了许多不同的组合,但我无法让它发挥作用。似乎没有办法否定 < LocationMatches > 等。
如果我定义了 PERL 变量,一切都进入脚本,关闭它,我可以切断静态数据,但显然脚本不起作用。
<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>
我猜想破解模块以使用内部重定向可能会奏效,但它很难看。
我使用的是 Gentoo Linux,它包括 module.d/ 文件夹和 vhost.d 文件夹中的所有文件。我检查了所有这些并删除了任何目录或位置文件夹,没有任何!
非常感谢。