문제

mod_rewrite 규칙을 통해 다시 작성된 파일 (앱과 동일한 서버에서 호스팅 된)에 대한 URL 만 있다고 가정합니다.

.htaccess 파일에 직접 액세스하지 않고 PHP로 해당 파일의 내용을 어떻게 읽거나 원래 URL을 구축하는 데 사용되는 재 작성 규칙은 무엇입니까?

"SRC"속성이 설정된 모든 스크립트 태그를 추출하고 대상 파일의 내용을 검색하고 모든 것을 하나의 큰 JavaScript 파일로 병합 한 다음 대신에 제공하려고합니다.

문제는 file_get_contents를 통해 모든 파일을 읽는 것이 페이지를 느리게하는 것처럼 보이므로 대안을보고 있었고 백그라운드에서 다른 요청을 생성하지 않고 파일 시스템에서 파일을 직접 읽을 수 있다면 그러나이를 위해서는 파일의 경로를 찾아야하며 일부는 다시 작성된 URL을 통해 액세스 할 수 있습니다.

도움이 되었습니까?

해결책

원래 PHP 인 것처럼 포함 할 수 없습니다. 결과를 얻으십시오 PHP의 실행 자체.

Fopen 래퍼가있는 경우 사용만큼 쉽습니다. 필요하다, 포함 또는 file_get_contents 다시 작성한 URL에서. 그렇지 않으면 당신은 가지고 있습니다 fsockopen 그리고 곱슬 곱슬하다 결과에 대한 HTTP 요청을 작성하는 옵션으로

다른 팁

요청이 어떻게 처리되는지 말할 수 없으므로 가능한 유일한 솔루션은 해당 서버에 HTTP 요청을 보내는 것입니다. 그러나 그것은 당신에게 해당 파일/스크립트의 출력을 얻을 수 있습니다.

PHP는 Apache보다 뒤쳐져 Fopen-like 또는 포함 된 ETC ... 함수를 사용하여 파일 시스템 수준에서 파일 액세스 권한이 있습니다. 이러한 기능은 OS 파일 액세스 루틴을 사용하지만 APACHE는 사용하지 않기 때문에이 액세스에 대해서는 작동하지 않습니다.

이를 수행 할 방법은 없지만 PHP 스크립트에서 .htaccess와 동일한 URL에 대한 규칙을 구현하는 것입니다. Apache-Lewriting 및 PHP 파일 액세스는 서로에 대해 아무것도 알지 못하고 웹 응용 프로그램의 다른 계층에 있기 때문입니다. .

편집 후 : 유일한 방법 - PHP 스크립트에서 재 작성 규칙을 모방하고 PHP를 통해 URL을 구문 분석 한 후 파일 시스템 PHP 액세스를 사용합니다 (다시 작성되지 않음).

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top