2011-08-14 6 views
0

한 사이트에서 내 웹 페이지의 .html 확장자를 만드는 데 오래 전에 실수를했다고 생각합니다..html 페이지에서 div 가져 오기

이제 import div와 같은 일을하고 모듈 식으로 만들고 싶습니다.하지만 불가능하다고 생각합니다.

PHP에서 내가

<?php 
include("divs/footer.php"); 
?> 

하지만 어떻게 내가 .html 중에서 확장자를 가진 페이지에 사업부를 가져올 수있는 뭔가를 할 수 있을까? 또는 .html 확장자는 중요하지 않습니까?

감사합니다.

+0

어떤 서버 환경입니까? 아파치? IIS? PHP로 포함 된 include가 필요합니까? 아니면 정적 html입니까? – steveax

+0

@steveax Apache – Genadinik

답변

4

확장자는 중요하지 않습니다.

+0

그래서 어떻게해야합니까? – Genadinik

+0

'AddType application/x-httpd-php .html' 줄을 추가하여 .htaccess 파일을 수정할 수 있습니다. 단점은 서버가 이제 모든 .html 파일을 .php 파일로 해석한다는 것입니다. –

+0

하나의 html 페이지에만 php를 포함해야한다면, .htaccess 파일에 이것을 추가하는 것이 더 좋습니다 :' AddType application/x-httpd-php .html' –

3

몇 가지 선택 사항이 있습니다. PHP 인터프리터를 사용하여 .html 개의 파일을 실행하도록 서버에 지시 할 수 있지만, 이는 나중에 누군가에게 혼동을 줄 수 있습니다. 나는 당신의 페이지를 .php로 이름을 바꾸고 사이트의 모든 링크를 업데이트하는 것이 더 좋을 것이라고 생각합니다. 그런 다음 HTTP 301을 사용하여 *.html에서 *.php으로 리디렉션을 설정하여 이전 북마크 또는 링크가 계속 작동하도록합니다.

다른 옵션은 mod_rewrite를 사용하여 모든 URL을 /pagename.html에서 /index.php?page=pagename으로 다시 작성하는 것입니다. 그럼 그냥 같은 것을 할 index.php을 할 수 : 당신은 파일이 유효한지 확인하기 위해 검사를 더 많은 작업을 수행 할 수 있습니다

<?php 

if(strpos($_GET['page'], '../') !== false) 
    die; // Do not allow traversing up the directory tree 

require dirname(__FILE__).'/'.$_GET['page']; 

?> 

을하지만 사용하는 것이 안전합니다 그래서 코드는 웹 루트 아래의 파일이 필요합니다 .

관련 문제