Назад | Перейти на главную страницу

Смешивание скриптов и статического содержимого с тегами местоположения в 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, их не было!

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

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

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