이것은 내가하려고하는 것입니다. 한 컴퓨터에서 해결되지 않는 URI는 역방향 프록시를 통해 다른 것으로 범프됩니다. 구성은 다음과 같다 : 그가 말하는하도록되어 지금의Apache mod_rewrite RewriteCond -U 플래그 거짓 긍정
RewriteEngine On
RewriteCond %{REQUEST_URI} !-U
RewriteRule ^/(.*)$ http://other.site/$1 [P,NS]
, "나는하는 subrequest을 실행하여 로컬 아무것도 찾을 프록시로 펀트 할 수 없습니다."
문제는 없습니다. RewriteLogLevel을 입력하면 다음과 같이 나타납니다.
31.3.3.7 - - [29/Jul/2012:00:26:18 --0700] [internet.srs.bznz/sid#7fc6099fa228][rid#7fc609bf2bf0/initial] (5) RewriteCond URI (-U) check: path=/ -> status=200
31.3.3.7 - - [29/Jul/2012:00:26:18 --0700] [internet.srs.bznz/sid#7fc6099fa228][rid#7fc609bf2bf0/initial] (4) RewriteCond: input='/' pattern='!-U' => not-matched
해당 컴퓨터에 /에 아무것도 없습니다. 그것은 403을 반환해야합니다. 그래서 내 질문은 : 도대체 200 OK가 어디에서 오는 것입니까? 새로운 데비안 VPS이기 때문에 설정에 오염이있는 것은 아닙니다. 나는이 다른 곳에서 (Ubuntu 12.04) 같은 것을 시도했다.
무엇이 잘못된 코드인지 알아 보려면 어떻게해야합니까?
입니다. [apache docs] (http://httpd.apache.org/ docs/current/mod/mod_rewrite.html # rewritecond) : _TestString_이 유효한 URL인지 여부를 확인합니다.이 URL은 해당 경로에 대한 모든 서버의 현재 구성된 액세스 제어를 통해 액세스 할 수 있습니다. ** 따라서 구성 된 액세스 권한 만 확인하고 존재하지는 않습니다 또는 파일 시스템 권한 ... – motas