2011-01-04 11 views
0

저는 IIS asapi 필터를 linux/apache로 이식하고 있으며, 가장 좋은 방법은 무엇인지 궁금합니다. IIS에서 isapi 필터는 요청을 가로 채고 데이터베이스 조회를 수행하여 사용자가 요청한 파일을 찾은 다음 URL을 다시 작성하여 해당 파일을 직접 제공합니다.mod_rewrite를 사용하지 않고 Apache URL 재 작성

Apache에서이 작업을 수행하는 가장 좋은 방법은 무엇입니까? mod_rewrite는 데이터베이스 조회를 수행하기 위해 사용자 코드를 삽입 할 수있는 기능을 갖고 있지 않으므로 사용할 수 없습니다. DLL은 필터이고 모듈은이를 지원하지 않기 때문에 mod_isapi를 사용할 수 없습니다.

지금 당장은 mod_rewrite 코드를 가이드로 사용하여 직접 C 모듈을 작성하는 것이 가장 직접적인 방법이라고 생각합니다. 할 수만 있으면 그걸 피하고 싶습니다. 퍼포먼스가 리다이렉트로 인해 어려움을 겪을 것이기 때문에 perl/PHP/뭐든 스크립트를 통해 각 요청에 대해 HTTP 리다이렉트를해야 할 필요가 없다.

제안 사항? 이를 위해 Apache 처리기 또는 필터를 사용할 수 있습니까?

답변

2

mod_rewrite에서 MapType "prg"는 정확하게 이것을 의미합니다. 실행 가능한 파일을 맵으로 사용할 수 있으며, 프로그램에서 문자열로 읽은 다음 조회 값을 출력하면됩니다.

http://httpd.apache.org/docs/2.0/mod/mod_rewrite.html

+0

감사합니다. 이 기능을 사용하여 성능이 저하되는지 알고 있습니까? 외부 응용 프로그램을 어떻게 든 캐싱 할 수 있습니까? 응답이 캐싱 될 수 있음을 알지만, 그것이 우리의 요구에 부합하는지 아니면 도움이 될지 확실하지 않습니다. – MonkeyWrench

+0

외부 앱이 자체 캐싱을 담당해야합니다. 외부 응용 프로그램이 들어오는 요청을 따라 잡을 수 있다면, 확장 성과 확장 성이 좋습니다. – Zeki

+0

흥미 롭습니다. 외부 응용 프로그램이 각 요청에 대해 메모리에로드됩니까? 우리가 데이터베이스에 연결하는 것을 고려할 때, 어떻게 든 지속성을 갖는 것이 가장 좋은 것처럼 들립니다. – MonkeyWrench