Смешивание скриптов и статического контента с тегами местоположения в Apache

Смешивание скриптов и статического контента с тегами местоположения в Apache

Я пытаюсь настроить Apache для отправки большинства URI в мое приложение mod_perl, за исключением нескольких файлов, которые я хочу обслуживать с помощью обработчика по умолчанию. (отправить статический файл)

я хочу всеhttp://myserver.com/xxxxxперейти к mod_perl с /, /index.html, robots.txt и несколькими подпапками, которые будут обслуживаться статически.

Я пробовал несколько разных комбинаций, но не могу заставить это работать. Кажется, нет способа сделать < 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. Я проверил все это и удалил все папки Directory или Location, их не было!

Большое спасибо.

решение1

Это одно из моих давних разочарований в mod_perl, и в конечном итоге именно поэтому я рад появлению Ruby on Rails.

По сути, вы не можете делиться тем, где находятся ваши скрипты Perl, и тем, где находится статический контент. Они должны находиться в разных каталогах. Я часто жульничал и использовал разные имена хостов для статического и динамического контента, что устраняло всю проблему. Вы также можете немного почитать окак поместить статический контент в подкаталогвозможно.

Связанный контент