我正在使用 Apache 2.2x。大部分内容是通过 mod_perl 生成的。因此,它是没有文件系统映射的动态内容。完美利用<位置>。
阿帕奇配置:
<Location /finance_module1>
SetHandler perl-script
PerlResponseHandler Finance::Module1
</Location>
<Location /finance/module2>
SetHandler perl-script
PerlResponseHandler Finance::Module2
</Location>
Module1 有效,此处显示以表明我的设置在其他方面有效。
模块 2 不起作用。Apache 说“文件不存在:/home/joe/www/htdocs/finance”。模块配置之间的唯一区别是 Module2 位置包含多个斜杠(我称之为嵌套路径)。
关于“文件不存在”错误:当然它不存在——它是一个位置,而不是文件或目录。那么为什么会这样呢?
我希望能够使用带有多个斜杠的路径,因为我有很多 mod_perl 模块,并且出于控制目的进行分类会很好。举一个简单的例子,robots.txt 可以简单地说:
Disallow: /finance/
Apache 文档明确指出 < Location > 指令不需要映射到文件系统,并且非常适合动态生成的内容。
我究竟做错了什么?有解决方法吗?(除了明显的“不要那样做”)。
谢谢。