코어가 프로젝트 네임 스페이스 인 곳에서 애플리케이션을 설정하려고합니다. core는 프로젝트 사용자 정의의 기본 폴백입니다. 이를 ID에 CSS와 같은 다양한 자원을 단계적으로 할 수처럼, excersize의 목적을 위해 자바 스크립트 등mod_rewrite를 사용한 계단식 리소스 선택
으로이 단순화 필자./.htaccess
./first/firstonly.txt
./first/both.txt
./second/secondonly.txt
./second/both.txt
요청이 찾기 전에 먼저 존재를 확인 할 것
예상되는 동작 두 번째, 그리고 마지막으로 base을 위해 404
을 던지는/firstonly.txt은 base을/secondonly.txt 반면
는 (404 ./first/secondonly.txt 시도 할 것이다, (200) ./first/firstonly.txt 충돌 것) 다음 ./second/secondonly.txt (200).
baseurl/both.txt는 ./first/both.txt (200)에 도달하고 더 이상 진행하지 않습니다.
baseurl/nonexistant.txt (404)는 계단을 통과하여 돌아올 것입니다.
저는 mod_rewrite에 상당히 경쟁적이어서 여기서는 기본 지식을 말할 필요가 없습니다. 이것을 구현하는 가장 효율적인 방법은 무엇입니까? 대부분의 시간이 첫 번째 히트에서 발견 될 것이므로 걱정하지 마세요. 은 -f 검사 만에 정확하다는 것을 알아 차리지
RewriteEngine on
RewriteRule ^(first|second)/ - [L]
RewriteCond %{DOCUMENT_ROOT}/first/$0 -f
RewriteRule ^[^/]+$ first/$0 [L]
RewriteCond %{DOCUMENT_ROOT}/second/$0 -f
RewriteRule ^[^/]+$ second/$0 [L]
아, 그렇습니다. 필자 자신이 생각하는 것과 비슷한 해결책을 제시하고 있지만, 문서 루트에있는 프로젝트의 루트에 의존합니다. 항상 발생하지는 않습니다. .htaccess (현재의 고집 점)와 관련하여 행복하게 작업 할 수 있어야합니다. – jhogendorn
@devians : 대신'RewriteCond first/$ 0 -F'를 시도하십시오. – Gumbo
작동하지 않는 것처럼 재기록 체크를하는 경우에는 전체 경로가 필요합니다. – jhogendorn