2012-03-29 4 views
1

.htm 또는 .html 확장자를 가진 문서에서 PHP 코드를 실행하려고했습니다. 나는 마지막으로 그것을 사용하여 작업 있어요 :일부 페이지에서는 htaccess 수정이 작동하지만 다른 페이지에서는 작동하지 않습니까?

으로 AddType 응용 프로그램/x는 - 아파치 - PHP를 .PHP .html 중에서 .HTM

이제 내가 직접 갈 경우에만 작동 .HTM 문서 내에서 PHP를 실행할 수있는

은 무엇의 예입니다 내가 페이지를 layout.htm를 사용하는의 index.php 페이지로 이동하면 http://www.foobar.com/layout.htm

그러나, 그것은 작동하지 않습니다 ... : .htm 인 페이지와 같은 색인 페이지 URL은 다음과 같습니다. http://www.foobar.com/index.php

내가 뭘 잘못하고 있니?

+0

* 어떻게 페이지를 정확하게 사용합니까? – jeroen

+0

레이아웃 페이지에는 {HEADER}와 같은 태그와 다른 유사한 이름이 중괄호 안에 들어 있습니다. 나는 그것을 사용하는 것에 익숙하지 않다 ... 그것은 일반적인 html/css 페이지이다. layout.htm 파일에 html을 추가하면 (php를 사용하지 않고) index.php 페이지에 잘 나타납니다. 그러나 PHP를 사용하여 레이아웃 페이지를 수정하면 layout.htm 페이지로 직접 이동해도 index.php 페이지에는 나타나지 않습니다. – CSoverIT

+0

* htm 파일을 사용하는 PHP 코드의 섹션을 게시해야합니다. – jeroen

답변

1

PHP 파일에서 include과 같은 것을 사용한다고 가정하면 .htaccess 규칙이 포함 된 파일에 영향을 미치지 않습니다.

.htaccess 규칙은 Apache 웹 서버에 대한 요청에서만 실행되며 로컬 파일 시스템에 포함 된 요청은 로컬 파일 시스템에서 파일을 요청하는 것입니다. 당신은 아파치를 통해 그것을 요구하지 않습니다.

편집 : 질문 아래의 의견에 따르면, readfile과 같은 것을 사용하여 htm 파일의 내용을 가져올 수도 있습니다. 이 경우 php가 실행되도록 include으로 변경해야합니다.

+0

php include 함수를 사용하고 있습니다. – CSoverIT

1

.htaccess 규칙은 PHP의 포함 파일에는 적용되지 않습니다.

당신은이 페이지를 확인하셨습니까 http://php.net/manual/en/function.include.php 파일이 대상 파일의 시작 부분에 PHP 모드를 종료하고 HTML 모드로 방울을 구문 분석, 포함되어 있으며, 마지막에 다시 재개됩니다

. 이러한 이유로 PHP 코드로 실행되어야하는 대상 파일 안의 모든 코드는 유효한 PHP 시작 및 종료 태그 내에 포함되어야합니다.

관련 문제