2012-02-08 7 views
3

디렉토리 (style0.css, style1.css 등 ..)에 여러 개의 CSS 파일이 있습니다. 요청한 CSS를 처리 할 수 ​​있도록 htaccess로 이러한 CSS 파일에 요청을 리디렉션 할 수 있습니까? 파일. 예. /styles/style0.css -> /includes/compressor.php?i=style0.css?.htaccess 리디렉션 CSS를 PHP로 리디렉션

답변

6
RewriteEngine On 
RewriteRule ^(.*).css$ /includes/compressor.php?i=$1.css [L] 

이러한 .htAccess 명령은 RewriteEngine을 활성화합니다. 이렇게하면 요청 URL을 분석하고 원하는 URL을 서버로 실행할 수 있습니다. 두 번째 줄은 .css로 끝나는 모든 URL을 취하며 파일 이름을 매개 변수로 삽입합니다 (예를 들어 원하는 경우). 예를 들어

:

http://localhost/styles/style1.css는 요청에 대한 재 작성 규칙 처리를 중지하기 위해 아파치를 말할 것이다

http://localhost/includes/compressor.php?i=style1.css

더 엘 플래그로 이동합니다.

+0

좀 설명해 주시겠습니까? [L]은 무엇을합니까? – 19greg96

+0

L 플래그는 Apache에게 요청에 대한 다시 쓰기 규칙 처리를 중지하도록 지시합니다. –

+1

참조 : http://httpd.apache.org/docs/current/mod/mod_rewrite.html –

7

.htaccess를 CSS 디렉토리에이 두 줄과 함께 추가하십시오. 이제 css 파일에 PHP 코드를 추가 할 수 있으며 처리됩니다 :

AddHandler application/x-httpd-php .css 

php_value default_mimetype "text/css" 
+4

.css 파일에는 PHP가 아닌 CSS가 있어야하므로 가능하면 재 작성을 사용하는 것이 좋습니다. 편집기가 파일을 CSS로 파싱하여 실패 할 것이므로 의미 적으로 잘못되어 편집하기 까다로운 문제입니다. –

+1

다음과 같은 방법으로 사용하고 있습니다 : 내 CSS는 singleSheet.css입니까? sheets [] = main.css & sheets [] = rest.css 이렇게하면 서버 쪽 (@includes 없음)이 한 장이 가능합니다. – circusdei

+0

나는 이것도 좋은 생각이라고 생각하고 앞으로 +1에서 사용할 수도 있지만, PHP만으로 CSS 파일을 압축하기 때문에 모든 CSS 파일에 동일한 코드를 복사해야한다. 내가 뭔가를 바꾸고 싶다면 나는 그것들 모두를 편집해야 할 것입니다. – 19greg96