
기본 처리기를 사용하여 제공하려는 몇 가지 파일을 제외하고 대부분의 URI를 내 mod_perl 응용 프로그램에 보내도록 Apache를 구성하려고 합니다. (정적 파일 보내기)
나는 모두를 원한다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>
내부 리디렉션을 사용하기 위해 모듈을 해킹하는 것이 효과가 있을 것 같지만 보기 흉합니다.
저는 module.d/ 폴더와 vhost.d 폴더의 모든 파일을 포함하는 Gentoo Linux를 사용하고 있습니다. 이 항목을 모두 확인하고 디렉터리 또는 위치 폴더를 모두 제거했는데 아무것도 없었습니다!
많은 감사를 드립니다.
답변1
이것은 mod_perl에 대한 나의 오랜 불만 중 하나이며, 궁극적으로 Ruby on Rails가 탄생하게 된 것을 기쁘게 생각합니다.
기본적으로 Perl 스크립트가 있는 위치와 정적 콘텐츠가 있는 위치를 공유할 수 없습니다. 서로 다른 디렉터리에 있어야 합니다. 나는 종종 부정 행위를 하고 정적 및 동적 콘텐츠에 대해 다른 호스트 이름을 사용하여 전체 문제를 제거했습니다. 에 대해 조금 더 읽을 수도 있습니다.하위 디렉터리에 정적 콘텐츠를 넣는 방법아마도.