2011-04-06 4 views
0
URL은 내가 변화를 만들고 싶어 굵은 글씨에

에서 mod_rewrite를 사용하여 ... 는 다음 /csmmail/lib/webmail/folderTree.gifCSS 파일에서 URL을 변경할 수 없습니다. 아파치

를 URL로 다시 작성하는 HTML 코드 조각입니다해야 ...

<link href="/csmmail/lib/webmail/folderTree.css?v=bfb38b233d72ba6a690a39394d7c964f" type="text/css" rel="stylesheet"> 
x_2az UL, x_2az LI { 
list-style-type: none; 
margin: 0px; 
white-space: nowrap; 
} 
x_2az UL { 
padding: 0px 0px 0px 16px; 
} 
x_2az LI { 
padding: 1px 0px 1px 0px; 
} 
x_2az IMG { 
vertical-align: middle; 
} 
.x_2le { 
margin-right: 3px; 
} 
.x_2bq { 
vertical-align: bottom; 
margin-left: 0px; 
} 
.x_2lf { 
background: ***url(/lib/webmail/folderTree.gif***) no-repeat; 
padding: 2px 0 3px 16px; 
} 
sprite_folder { 
} 

mod_rewrite를 처음 사용합니다. 디렉토리 별 conf 파일을 사용하여 시도했습니다.

RewriteEngine on 

Options  +FollowSymLinks 

RewriteCond  %{HTTP_REFERER} \.(css)$ 

RewriteRule  ^/lib/webmail/folderTree\.gif$ /csmmail/lib/webmail/folderTree.gif [NC] 

답변

0

난 그냥 할, 당신이 잘못하고 있다고 생각 : 모든 브라우저로 설정하지 않기 때문에

RewriteRule ^/lib/webmail/folderTree\.gif$ /csmmail/lib/webmail/folderTree.gif 

당신은 정말 HTTP_REFERER에 의존 할 수 없다.

0

HTTP_REFERRER가 .css 파일과 일치 할 것으로 예상됩니다.

CSS 파일에서 이미지를 참조했기 때문에이 이미지가 필요하다고 생각하십니까? 이것은 잘못된 가정입니다.

리퍼러는 항상 CSS 페이지가 아닌 브라우저에로드 된 실제 페이지입니다.

당신은 피들러와 같은 도구를 스니핑 HTTP를 사용하여 확인할 수 있습니다 - http://www.fiddler2.com/fiddler2/

는 작동하는지 확인하기 위해 재 작성 조건을 삭제하십시오.

+0

안녕하세요! 나는 가능한 조합을 시도했다. HTTP_REFERER 대신 REQUEST_URI를 사용하는 것과 비슷하지만 CSS에서 URL을 변경하지 않는 것이 좋습니다. – Aditya

+0

mozilla의 add-on (라이브 HTTP 헤더) 중 하나를 통해 folderTree.gif가 HTTP 요청을 생성하는 https : //localhost/lib/webmail/folderTree.gif를 보았고 referer가 https : // localhost입니다. /csmmail/lib/webmail/folderTree.css – Aditya

+0

RewriteCond를 주석 처리하면 작동합니까? – Naraen

관련 문제