이전에 비슷한 질문을했지만 내 상황에 대한 구체적인 답변을 찾지 못했습니다. 여러 환경의 .htaccess
나는 여러 환경 (로컬, 개발, 생산)에서 실행되는 ExpressionEngine 사이트를 가지고 있고, 이러한 환경의 각각 다른 htaccess로 규칙이 필요 :모든 환경
- Remove index.php
- 을 404 파일 설정
- 세트 301 리디렉션
개발
- 비밀번호 .htpasswd
- 강제 HTTPS 프로토콜을 보호 X-Robots-Tag
생산과
- 강제 HTTPS 프로토콜
- 없음 독특한 규칙이
지역 WWW에
- 리디렉션 www가 아닌 하위 도메인을.
모듈별로 특정 환경을 설정하는 방법에 대한 많은 예제를 보았습니다. mod_rewrite 모듈에는 RewriteCond %{REQUEST_HOST} ^dev.myurl.com
, .htpasswd 요구 사항에는 tricks like this이 있습니다.
하지만 실제로 환경 전역 변수를 설정 한 다음 환경별로 .htaccess 파일에서 해당 변수를 다시 사용하는 것이 좋습니다. 예를 들어 의사 자바 스크립트를 사용하려면, 무엇인가 :
var local = 'mysite.local';
var development = 'dev.mysite.com';
var production = 'www.mysite.com';
// Global .htaccess rules
if(environment == local){
// Local environment .htaccess rules
}
if(environment == development){
// Development environment .htaccess rules
}
if(environment == production){
//Production envirotnment .htaccess rules
}
이 방법 환경 관련 모든 규칙이 모두 정말 깨끗한 파일을 함께 그룹화하고, 하나의 변수가 요구하는 환경 경우 변경 될 수 있습니다 변경됩니다.
아파치 구성 파일의 설정을 변경하는 방법에 대한 몇 가지 참조를 보았습니다.하지만 제 3 자 호스트를 다루는 경우에는 실행 가능한 옵션이 아닙니다.
하늘의 희망찬 생각 이니, 그렇게 할 수 있습니까?
내가 건너 온 [이 문서] (http://www.thenerdary.net/post/20965499862/htaccess-environments), 아직 시도하지는 않았지만 유망 해 보입니다. – kgrote