2016-10-29 3 views
0

현재 LAMP 서버에서 실행중인 WEB 서버에서 직접 파일을 다운로드하는 클라이언트 응용 프로그램이 있습니다. 파일 주소는 다음과 같습니다 : http://example.com/application/images/*.jpg.LAMP : 파일 다운로드 요청을 PHP 페이지로 리디렉션

다운로드 한 횟수를 계산합니다. 그러나 클라이언트 응용 프로그램을 변경하여 다른 주소 나 페이지로 요청을 보낼 수는 없습니다.

http://example.com/application/images/xyz.jpg과 같은 형식의 요청을 http://example.com/application/counter.php?file=xyz.jpg과 같이 변환 할 수 있도록 URL 재 작성을 기반으로하는 몇 가지 기술이 있다고 생각합니다. 이 방법을 사용하면 파일 다운로드를 처리하고 this answer에서 제안 된 기술을 사용하여 파일 수를 계산할 수 있습니다.

.htaccess 파일을 설정하거나 mod-rewrtie를 사용하여 내 요청을 counter.php 페이지로 리디렉션해야하는지 알고 싶습니다.

php_flag display_startup_errors on 
php_flag display_errors on 
php_flag html_errors on 
php_flag log_errors on 
# AddHandler application/x-httpd-php54 .php .php5 .php4 .php3 
Options -Indexes 
# BEGIN WordPress 
<IfModule mod_rewrite.c> 
RewriteEngine On 
RewriteBase/
RewriteRule ^index\.php$ - [L] 
RewriteCond %{REQUEST_FILENAME} !-f 
RewriteCond %{REQUEST_FILENAME} !-d 
RewriteRule . /index.php [L] 
</IfModule> 
# END WordPress 

추신 :

나의 현재의 .htaccess 파일은 다음과 같다 내 웹 서버가 공유 호스트에서 실행되므로이 ​​서버의 모든 항목에 액세스 할 수 없지만 .htaccess 파일을 추가/편집하는 작업을 수행 할 수 있습니다.

답변

0

당신은 당신의 사이트 루트의 .htaccess에이 규칙을 사용할 수 있습니다

RewriteEngine On 

RewriteRule ^(application)/images/(xyz\.jpg)$ $1/counter.php?file=$2 [QSA,L,NE] 

그런 다음 counter.php 내부 카운트를 유지하고 올바른 MIME-TYPE으로 $_GET['file']를 사용하여 jpg 이미지를로드합니다.

+0

작동하지 않은 다시 쓰기 규칙. .htaccess 파일을 사이트 루트에 저장했습니다. 도움이 될지도 모른다. – VSB

관련 문제