내 서버는 개인 파일 공유 역할을합니다. 임의의 파일이 포함 된 _misc 폴더를 설정하고 싶습니다. 또한 파일 카테고리로 작동하려면 _misc 내부에 추가 폴더가 필요합니다. 지난 이틀 밤 동안 제가 시도한 것은 _misc 및 하위 폴더 내의 모든 파일이 도메인 루트에서 액세스 할 수 있도록 구성하는 것입니다.
Examples:
www.example.com/_misc/chatlog.txt
www.example.com/_misc/food/burgers.jpg
www.example.com/_misc/sounds/soundclip.mp3
Can all be accessed as:
www.example.com/chatlog.txt
www.example.com/burgers.jpg
www.example.com/soundclip.mp3
또한 나머지 파일 시스템이 정상적으로 제공되어야합니다. 루트에 보관할 다른 파일과 Wordpress 사이트 및 인증 폴더, 일반적인 서버 관련 파일이 있습니다.
거의 작동 할 수있는 별칭을 사용하려고했습니다. <12가 있기 때문에 _misc 내부에 각 폴더를 구성해도 상관 없습니다. 그러나 별칭은 "/"에 대한 여러 호출을 허용하지 않으며 실제 "/"도 "_misc"로 리디렉션합니다.
mod_rewrite는 디렉토리 쪽에서 정규식을 사용할 수 있다면 거의 작동 할 수 있습니다.
저는 프로그래머이며 마지막 수단은 _misc를 스캔하고 요청 된 파일의 실제 경로를 반환 할 수있는 mod_rewrite 용 외부 프로그램을 사용하는 것입니다. 그래도 이것이 얼마나 잘 될지 모르겠습니다.
다른 아이디어가 있습니까? 감사.
테스트되지 않은 다음 mod_rewrite 재 작성을 사용할 수 있습니다. 서버에 대한 모든 요청에 대해 서버에 파일이 있는지 확인하기 위해 많은 하위 요청이 수행되기 때문에 이것은 잠재적으로 서버에 부담이 될 수 있습니다. 결과적으로 서버는 다른 방법으로 분당 많은 요청을 처리 할 수 없습니다. 환경 변수 트릭은 더 많은 요청이 생성되는 것을 방지하기위한 것입니다.
가능하다면 .htaccess 대신 httpd.conf에서 이것을 사용하십시오.
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^ - [E=notfound:1]
RewriteCond %{ENV:notfound} =1
RewriteCond %{DOCUMENT_ROOT}/_misc/$1 -f
RewriteRule ^([^/]+)$ /_misc/$1 [L,E=!notfound]
RewriteCond %{ENV:notfound} =1
RewriteCond %{DOCUMENT_ROOT}/_misc/food/$1 -f
RewriteRule ^([^/]+)$ /_misc/food/$1 [L,E=!notfound]
RewriteCond %{ENV:notfound} =1
RewriteCond %{DOCUMENT_ROOT}/_misc/sounds/$1 -f
RewriteRule ^([^/]+)$ /_misc/sounds/$1 [L,E=!notfound]
%{DOCUMENT_ROOT}
후행 슬래시 가 포함되어 있는지 확실 하지 않습니다. %{DOCUMENT_ROOT}_misc
대신 작성해야 할 수도 있습니다 .
이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.
침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제
몇 마디 만하겠습니다