2011-10-08 1 views
3

두 개의 CMS가 같은 디렉토리에 설치되었습니다. CMS 중 하나는 index.php 파일의 이름을 index2.php로 변경할 수 있으며 다른 하나는 그렇지 않습니다.조건부 DirectoryIndex

  • 이 404 오류는 다음
  • 을 index2.php하는 DirectoryIndex에 설정이있는 경우 디폴트는
  • 을 DirectoryIndex에로의 index.php 용도 : 이상적으로는 htaccess로 파일에 조건부 규칙을 설정하고 싶습니다

가능하면/가능합니까?

+0

좋은 질문입니다.'.htaccess'가 가능한지 확실하지 않습니다. 첫 번째 CMS에 하위 요청을 실행하고 404 상태 헤더를 반환하면 두 번째 규칙 인'index2.php'가 적용됩니다. – hakre

+0

응용 프로그램에 가장 적합한 설정입니까? 각 CMS를 자체 하위 디렉토리에 살게하는 것은 어떻습니까? 아니면 더 나은 자체 가상 호스트? –

답변

2

(404 = 파일을 찾을 수 없음), 당신은 실제로 .htaccess 파일에 다음 행을 추가 할 수 인덱스 파일의 목록)
를 통과 허용하는 방법을 찾고 있도록 :

DirectoryIndex index.php index2.php 

index.php이있는 경우 사용됩니다. 그렇지 않으면 index2.php이 사용됩니다.
index.phpindex2.php이있는 경우 먼저 등장 했으므로 index.php이 사용됩니다.

다음을 참조하십시오 : Apache Docs > DirectoryIndex directive.

+0

나는 OP가 그것을 요구하고 있다고 생각하지 않는다. 나는 CMS 1이 처음에 시작되어야한다고 생각하고 404 (파일을 찾을 수 없음)를 반환하면 CMS 2가 시작될 것입니다. 그러나 두 CMS는 모두 URL 별칭을 사용합니다. – hakre

+0

@hakre 조건은 질문에 주어집니다. *''index.php를 사용하면 404, index2.php "'*를 사용하십시오 :''index.php가 있다면 사용하고,''index2.php''는''DirectoryIndex index.php index2.php'로 변환합니다. –

+0

Uhm, 404 반환 상태 헤더는 index.php (* "use index.php"*)에 의해 반환 될 수 있고, 그럴 경우 (* "404이면 index2.php"*)를 반환 할 수 있습니다. 'DirectoryIndex'는 subrequest AFAIK의 응답 코드를 체크하지 않고 스크립트가 리턴 할 응답 상태에 관계없이 파일이 존재할 때 인덱스 스크립트를 실행합니다. – hakre