2011-05-11 5 views
0

1) 동일한 사이트 또는 다른 사람이 연결을 참조하는지 확인해야합니다. 나는 단순히 htaccess로 파일이 전복에 의해 처리되고 다른 HTTP_HOST와 다른 개발 환경에서 공유하기위한 것입니다 수동 때문에 HTTP_HOST를 입력 할 수 없습니다 2)이 조건 작품을 만들 수있는 해결 방법을 찾기 위해RewriteCond : HTTP_REFERER와 HTTP_HOST를 일치시키는 해결 방법은 무엇입니까?

그래서 목표는 값 투명하게 환경이 무엇이든 관계없이 htaccess를 수동 수정없이 svn에서 쉽게 처리 할 수 ​​있습니다.

감사합니다.

+0

어때 $ _SERVER [HTTP_REFERER] 그리고 정규식을 사용하여 도메인 이름을 확인 하시겠습니까? 요청이 어디서 왔는지 쉽게 알 수 있기를 바랍니다. –

답변

1

아파치 2를 사용하면이 작업을 수행 할 수 있습니다 HTTP_HOST는 또한 사전 HTTP/1.1 요청의 경우 비어있을 수

RewriteCond %{HTTP_REFERER} ^$ [OR] 
RewriteCond %{HTTP_REFERER} ^[^:/?#]+://([^/?#]+) # get authority 
RewriteCond %1 ^(?:(?:[A-Za-z0-9-._~!$&'()*+,;=:]|%[0-9A-Fa-f]{2})*@)?((?:[A-Za-z0-9-._~!$&'()*+,;=]|%[0-9A-Fa-f]{2})*)(?::\d+)?$ # get host name 
RewriteCond %1/%{HTTP_HOST} !^([^/]+)/\1$ # compare to HTTP_HOST 
RewriteRule^… 

참고.

관련 문제