하나의 파일 접미사 유형을 다른 파일 접미사 유형에 별칭으로 지정하는 mod_rewrite

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

  •  08-06-2019
  •  | 
  •  

문제

나는 이것을 충분히 명확하게 설명할 수 있기를 바랍니다. 그러나 그렇지 않은 경우 알려주시면 명확하게 설명하도록 노력하겠습니다.

저는 현재 ColdFusion을 사용하여 사이트를 개발 중이며 사이트가 PHP를 사용하는 것처럼 보이도록 mod_rewrite 규칙을 적용했습니다.index.php에 대한 모든 요청은 index.cfm에 의해 처리됩니다(규칙은 *.php를 *.cfm에 매핑함).

이것은 훌륭하게 작동합니다. 지금까지는 매우 좋습니다.문제는 index.cfm(또는 ColdFusion 페이지)이 직접 요청되는 경우 404 상태 코드를 반환하고 싶다는 것입니다.

mod_rewrite를 사용하여 *.cfm 파일에 대한 액세스를 차단하려고 하면 *.php에 대한 요청에 대해 404도 반환됩니다.

.htaccess를 사용하는 대신 Apache 구성을 변경해야 할 수도 있다고 생각합니다.

도움이 되었습니까?

해결책

당신은 사용할 수 있습니다 S 건너뛰기 플래그 404 규칙은 다음과 같습니다.

RewriteEngine on

# Do not separate these two rules so long as the first has S=1
RewriteRule (.*)\.php$ $1.cfm [S=1]
RewriteRule \.cfm$ - [R=404]

또한 다음을 사용하고 있는 경우 Alias 옵션을 추가해야 합니다. PT 깃발.참조 mod_rewrite 문서 자세한 내용은.

다른 팁

사람들이 도움을 받기 위해 다시 만들 필요가 없도록 이미 가지고 있는 규칙을 출발점으로 게시하세요.

가장 먼저 시도할 사항으로 .php를 .cfm 파일에 매핑하는 규칙에 대해 [L]을 테스트해 볼 것을 제안합니다.

재작성 규칙의 두 가지 개별 그룹(하나는 .php용, 다른 하나는 .chm용)을 사용해야 하며 이 그룹을 RewriteCond %{REQUEST_FILENAME}과 상호 배타적으로 만들어야 합니다.그리고 jj33에서 제안한 대로 [L] 플래그를 사용하세요.

.htaccess에 규칙을 유지할 수 있습니다.

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