2012-12-28 3 views
0

사용자가 내 웹 사이트의 파일에 직접 액세스하지 못하게하려고합니다. 기본적으로 /images/header.jpg에 이미지가 있습니다..htaccess 리디렉션 직접 액세스

.htaccess를 사용하여 해당 파일에 직접 액세스하려는 모든 시도를 전달하려고합니다. "http://www.domain.com/images/header.jpg "내 404 페이지로하지만 내 소스 코드에서 호출 할 때 이미지가 계속로드되기를 원합니다. 상황을 복잡하게 만드는 것은 실제로 header.jpg가 다른 이미지 폴더로 리디렉션된다는 것입니다.

그래서 궁극적으로 원하는 효과는 다음과 같습니다

사용자로드 페이지 -> header.jpg는 전화를 사용자가 자신의 사이트에서 header.jpg를 링크하려고 new_header.jpg 리디렉션됩니다 -> 그들은으로 리디렉션 내 404 페이지.

나는 몇 가지 조건을 시도했지만 원하는 효과를 달성 할 수 없었다

...

RewriteCond %{REQUEST_URI} ^/images 
RewriteCond %{HTTP_REFERER} !^http(s)?://(www\.)?domain.com [NC] 
RewriteRule ^(.*\header.jpg(/.*)?)$ new_header.jpg [L,QSA] 
+0

사람들을 단지 재 작성 조건 일 뿐이므로 실제로 규칙을 따르는가? –

+0

죄송합니다. RewriteRule^(. * \ header.jpg (/.*)?)$ new_header.jpg [L, QSA] – user1647347

답변

2

이 같은 무언가가 당신을 위해 일해야한다고 생각합니다 :

RewriteEngine On 
#Redirect all request for things in /images that don't come from website to 404 page (assumed to be /404 in this case) - Prevents hotlinking 
RewriteCond %{REQUEST_URI} ^/images 
RewriteCond %{HTTP_REFERER} !^http(s)?://(www\.)?domain\.com [NC] 
RewriteRule ^.*$ /404 [L,R=404] 

#Redirect requests for /images/header.jpg to new_header.jpg image 
RewriteRule ^/?images/header.jpg /path/to/other/images/new_header.jpg [L] 
+0

흠 .. 첫 번째 블록은 잘 작동하지만 header.jpg에서 new_header.jpg까지는 실행되지 않습니다. all..very weird – user1647347

+0

이 두 파일의 위치에 대한 정보를 제공하고 실제로 거기에 RewriteRule을 어떻게 작성 했습니까? –

+0

폴더 경로를 수정 한 후 작업이 끝났습니다. 감사! – user1647347

관련 문제