2012-02-09 2 views
0

아파치에서 CF9 개발자를 실행하여 사이트가 궁극적으로 원격으로 호스팅되는 여러 도메인에 대해 내 컴퓨터에서 테스트 서버를 실행합니다. 모든 것이 작동하지만 현재는 "/"루트 매핑 만 사용할 수 있습니다. 여기 내 로컬 도메인은 다음과 같습니다Coldfusion : 테스트를위한 여러 local.domains. 각각의 "/"루트를 매핑하십시오.

  • local.domain1.com
  • local.domain2.com 등
  • ...

그리고 여기가 물리적 경로가 있습니다 :

  • C : \ www \ domain1.com \
  • C : \ www \ domain2.com \

CF 관리자는 다음과 같은 Active ColdFusion 매핑을 사용합니다 (논리 경로 : "/"- 디렉토리 경로 : "C : \ www.domain1.com \"). 이 작업은 local.domain1.com에서 가능합니다. 그러나 CF Administrator에서 하나의 "/"논리 경로 만 추가 할 수 있습니다.

즉, 도메인 1은 cfinclude template = "/ anyrootfolder/anyfile.cfm"을 루트가 매핑되므로 정상적으로로드합니다. "/"루트가 매핑되지 않았기 때문에 cfinclude template = "/ anyrootfolder/anyfile.cfm"을 사용하려고하면 도메인 2, 3 등이 실패합니다.

동일한 서버에 여러 "/"를 어떻게 매핑 할 수 있는지 제안하십시오.

는 편집 : 알의 대답에서 내 의견에 언급 된 바와 같이

, 나는 내가되어 cfinclude에 절대 경로를 사용 할 때마다 모든 도메인 domain1을의 파일 구조에서 잡아 된 것을 발견했다. CF 관리자는 논리적 경로 "/"와 디렉토리 경로 "C : \ www \ domain1.com \"을 사용하여 활성 CF 매핑을 삭제했습니다.이 작업은 트릭을 수행하는 것처럼 보였습니다. 내가 왜 거기에 있었는지 모르겠다. (어쩌면 기본 CF 설정 과정의 일부로?). 어쨌든 테스트 사이트에서 삭제 한 결과로 오류가 표시되지 않으며 다른 다른 도메인도 예상대로 작동합니다 (아마도 Apache의 구성에서 문서 루트를 설정했기 때문일 것입니다 [RobG의 답변 참조]). 모두에게 감사드립니다!

답변

2

나는이 매핑이 전혀 필요 없다고 생각합니다. 로컬 컴퓨터에서 local.domainX.com 항목을 Hosts 파일 (C : \ windows \ system32 \ drivers \ etc \ host)에 넣은 다음 각각에 대해 Apache에서 가상 디렉터리를 구성합니다.

NameVirtualHost *:80 

<VirtualHost *:80> 
DocumentRoot "C:\www\domain1.com" 
ServerName local.domain1.com 
</VirtualHost> 

아파치 설정에 대한 자세한 정보가 필요하면 알려주십시오.

+0

감사합니다. 나는 양쪽 모두에 익숙하고 이미 제자리에있는 것들을 가지고 있습니다. 불운. – Michael

1

/에 응용 프로그램 수준 매핑을 사용할 수 있습니까? 오래 전에 테스트 시스템에서 여러 사이트에 있지만 같은 프로덕션 서버에 여러 사이트에뿐만 아니라 취급이와 Application.cfc

에서

<cfset THIS.mappings["/"]="C:\www\domain2.com\"> 
+0

감사합니다. 이것을 시도하면 효과가 없습니다. application.cfc 파일이 읽혀지고 있다는 것을 알고 있습니다. 왜냐하면 내가 구문을 엉망으로 만들면 오류가 발생할 것이기 때문입니다. 하지만 절대 경로 ("/")를 사용하여 파일을 포함 시키려고해도 여전히 동일한 오류가 발생합니다. 오류 메시지 : "포함 된 템플릿 C : /www/domain2.com/plugins/file.cfm을 찾을 수 없습니다." 나는이 위치에 file.cfm이 존재한다는 것을 100 % 확신한다. – Michael

+0

글쎄, 당신의 경로를 올바르게 받고있는 것 같습니다. – ale

+0

흥미 롭습니다. 좀 더 테스트를했는데 절대 경로를 사용하는 local.domain2에있는 모든 은 실제로 domain1에서 가져 오는 것입니다 (동일한 파일/폴더 구조를 갖고 있으므로 동일한 파일이 많은 곳이 상대적으로 상대적으로 많습니다).). 따라서 절대적인 cfincludes 중 일부는 작동하는지 다른 일부는 작동하지 않는지를 설명합니다. – Michael

0

I 죽음. 나의 궁극적 인 해결책은 각 사이트에 대한 기본 3 문자 "접두어"매핑을 만드는 것이 었습니다.

같은 전형적인 cfincludes이 될 것으로 ...

<되어 cfinclude 템플릿 = "/ TQS/집.CFM ">
<되어 cfinclude 템플릿 ="/ bqo/home.cfm "이 또한 파일, 이미지, 그리고 다른 사이트 중 하나에 저장 될 수 있습니다 기타 리소스를 참조 할 수 있음을 >

주.

< cfcontent file = "# expandpath ("/ bqo/images/pixel.gif ") #"type = "...