을 구성하는 방법 mod_rewrite 를 봉사하는 축소된 파일의 경우 사용할 수 있습니까?

StackOverflow https://stackoverflow.com/questions/243124

  •  04-07-2019
  •  | 
  •  

문제

여기에는 문제점:우리가 많이 자바스크립트와 많은 CSS 파일을 우리는 오히려 봉사 최소화.의 최소화가 쉽습니다:설정 YUI 압축기,실행하는 개미 작업,그리고 뱉어 축소된 파일은 우리가 저장 옆에 있습니다.

그래서 우리는 다음과 같은 디렉토리 구조에 어딘가 안에 우리의 DocumentRoot:

/
   /js
      /min
         foo-min.js
         bar-min.js
      foo.js
      bar.js
      quux.js
   /css
      ...

이제 우리에게 필요한 것은 아파치가 제공에서 파일 min 하위 디렉터리 대체 제 압축 파일, 는 경우에,그들의 최소화 버전을 사용할 수 없습니다.마지막 문제 중 하나는 내가 해를 구할 수 없습니다.

예를 들어:가 있다고 가정 요청 example.com/js/foo.js —이 경우 아파치 보내야 한다는 내용의 /js/min/foo-min.js.없음 최소화 quux.js, 도록 요청 /js/quux.js/js/quux.js 자체 404.마지막으로,없을 경우 /js/fred.js,그것으로 끝날 404.

실제로,나는 설정 빌드 스크립트에서 같은 방법으로는 unminified 파일을 배포하지 않에서 생산 server,하지만 이 구성은 여전히 유용할 수 있는 통합 서버 및 개발에 기계입니다.

도움이 되었습니까?

해결책

여기에 구성하는 일:

/js/.htaccess:

RewriteEngine On

RewriteBase /js

RewriteCond %{REQUEST_URI} ^/js/((.+)\.js)$
RewriteCond %{DOCUMENT_ROOT}/js/min/%2-min.js -f
RewriteRule ^(.+)$ min/%2-min.js [L]

에 대해 동일 css 디렉토리에 있습니다.

다른 팁

당신이 사용할 수 있습 RewriteCond 의 존재를 검출하기 위하여는 축소된 파일:

RewriteCond %{REQUESTURI} ^/js/(.*\.js)
RewriteCond js/min/%1 -f
RewriteRule %1 min/%1 [L]

이 가능한 변경을 구축 스크립트?그렇다면,구성할 수 있습니다 그들을 축하파일하고 그들에게 이름이 동일하지만,경우에만 제공되는 적절한 플래그,예를 들어, ant productionDeployant integrationDeploy.는 방법을 최소화 프로세스는 완전히 투명하 제외한 모든 것을 구축하는 스크립트입니다.

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