본문 바로가기

카테고리 없음

httpd.conf addtype php

출처 https://www.phpschool.com/gnuboard4/bbs/board.php?bo_table=qna_install&wr_id=40374

안녕하세요 
php를 아파치 위에서 돌리려고 하는데, 고수님들이 저렇게 하라고 하는데, 하나하나의 뜻이 이해가 안되네요... 
phps는 뭐에요? 
그리고 php, php3 htm을 x-httpd-php,즉 php프로세스로 돌리겠다는거 같은데 
왜 htm을 php프로세스로 돌리게 하나요..그냥 냅둬도 잘될텐데 ^^; 

그리고 나머지는 뭔소리인지 하나도 모르겠습다. 

좀 자세히 아시는분 갈켜주심 안될까요^^: 

------------------------------------------------------------------------------------ 
# 아래 내용 추가 
AddType application/x-httpd-php .php .php3 .ph .htm .html .inc 
AddType application/x-httpd-php-source .phps 
# Indexes 제거 
Options Indexes FollowSymLinks MultiViews 
# index.htm index.php 추가 ! 
<IfModule mod_dir.c> 
    DirectoryIndex index.html index.htm index.php 
</IfModule 
------------------------------------------------------------------------------------ 

  • 답변채택율 100%
  • 추천 0
  • 비추천 0

 [무료등록] 호스팅 신규신청시 .SHOP 도메인 1년무료등록(44,000원 상당)

 

전체댓글수 4

  • imcrazy 03-12-29 19:42 

    | 삭제소스보기

  • 웹의 동작과정.. (매우단순함) 

    1. 클라이언트(브라우저) -> 서버에 페이지 요청( ex> www.phpschool.com/bbs/inc_view.html.... ) 
    2. 서버에서 클라이언트가 요청한 페이지를 찾아서 클라이언트로 전송 
    3. 클라이언트(브라우저)에서 서버로 부터 전송받은 html을 해석해서 화면에 출력 

    이 됩니다. 

    그런데, 일반적으로 어떤 사이트에 접속(페이지요청)할때 문서의 이름까지는 상세하게 적어 주지 않습니다. 
    www.phpschool.com 이라고 주소만 사용하지 
    www.phpschool.com/index.html 이라고 특정 페이지 까지 지정하는 경우는 거의 없습니다. 그렇다면 서버에서 www.phpschool.com 이라고 만 요청을 받은 경우 어떤 페이지를 클라이언트에 전송해 주는 것이 정답일가요?? 
    이것을 정해 주는 것이 
    DirectoryIndex index.html index.htm index.php 
    이 부분입니다. 
    클라이 언트에서 특정 페이지를 지정하지 않았을 경우 현재 URL에 지정된 위치에서 index.html을 찾습니다. 만일 index.html파일이 없다면 두번째로 지정된 index.htm을 찾고, 이것도 없다면 index.php를 찾아서 클라이 언트에 전송해 줍니다. 
    만일 클라이 언트가 지정한 위치에 위 3개 파일이 모두 없다면, 그때는 페이지를 찾을 수 없다는 에러를 보여 줍니다. 

    # index.htm index.php 추가 ! 
    이것은 index.htm 과 index.php도 인덱스 파일로 찾을 수 있도록 설정하는 것입니다. 

    두번째, 
    AddType application/x-httpd-php .php .php3 .ph .htm .html .inc 
    이 부분은 '.php .php3 .ph .htm .html .inc' 와 같은 확장자가 붙은 파일은 PHP 스크립트 파일로 생각하고 PHP 엔진을 통해서 해석한 다음 클라이언트에 그 결과를 전송하라라는 뜻 입니다. 
    만일 본인이 PHP 스크립트는 꼭 xxx.php 로만 작성하겠다면.. 
    위 설정에서 .php를 제외한 나머지를 지워도 상관 없습니다. 
    하지만 보통 index.html만 보더라도.. 로그인이나 카운터등 PHP스크립트를 적용하는 경우가 많습니다. 그래서 위와 같이 일반적으로 PHP 스크립트로 자주 사용하는 확장자를 설정해 주는 것 입니다. 

    세번째, 
    AddType application/x-httpd-php-source .phps 
    이것은 phps 라는 확장자가 붙은 파일은 PHP 스크립트로 해석하는 것이 아니라 PHP 소스 파일로 처리하겠다는 뜻 입니다. 
    이것은 PHP 소스 파일중 아무거나 확장자를  phps로 바꾸고 웹 브라우저에서 불러 보시기 바랍니다. 그 결과를 보면 어떤 기능을 하는 것인지 알수 있을 것 입니다. 

    참고로 위의 설명은 아파치와 PHP메뉴얼에 더욱 자세하게 나와 있씁니다. 

    RTFM : )
  • 목포넷 03-12-29 20:08 

    | 삭제소스보기

  • -Options indexes 제거 : 웹페이지를 찾을 때, 보통 index.html파일을 찾게 되는데.. 이 파일이 만약 있다면, 그 페이지가 출력이 되겠는데..이 파일이 없을 경우엔 나머지 파일들의 목록이 나오게 됩니다. 이를 Indexes라고 하지요. Indexes를 제거해주면, index.html파일이 없더라도 나머지 파일들의 목록이 브라우저에 나타나지 않습니다. 보안을 위해서 indexes를 제거해주는 겁니다. 

    -AddType application/x-httpd-php .php .php3  .html .htm .inc  ...이걸 httpd.conf파일에 기록해주게 됩니다. 아파치의 구성환경을 담고 있는 파일이지요. 웹에서 우리가 보는 페이지는 디자이너나 프로그래머가 작성해서 올린 파일입니다. 이때 확장자가 .php .php3 .html .htm .inc인것들 안네 PHP관련 코드가 작성되어 있는 경우에 이를 PHP문법으로 해석하겠다는 뜻입니다. 그래서 원래 html파일인 abc.html파일이 있다고 하면, 이 파일 내부에 php관련 코드들을 섞어도 작성하더라도 .html파일도 PHP코드를 담을 수 있다고 정의해 놓았기 때문에 이를 해석해서 우리가 볼 수 있게 해주는 것이지요. 쉽게 설명하면 위의 확장자를 가진 파일들은 PHP파일로 보겠다는 겁니다.(단, 그 안에 php관련 코드가 있는 경우에..).. 그렇다면 .php .php3 .html .htm .inc만 될까요?... 뒤에다 다른 확장자를 더 추가해도 됩니다.
  • L.S. 03-12-29 20:45 

    | 삭제소스보기

  • .htm을 왜 PHP로 돌려야하는지 의문을 가지는 건 좋은 일입니다 :) 
    위 분들이 설명은 잘 해주셨으니 실용적인 측면에서, PHP 코드가 들어가는건 .php로만 작성하는 편이 좋습니다. .htm을 PHP로 돌리는건, PHP 코드가 없는 .htm 파일까지도 쓸데없이 해석하겠다고 삽질-_-하는 결과를 낳습니다. (솔직히 가장 쓸데없는 행위가 .html이나 .htm에 PHP 코드를 쓰는 행위입니다. 서버 부하만 늘어납니다 :( .html이나 .htm으로 접속을 시도하는 사람이 있을거라 생각한다면, 아파치 자체 설정으로 리다이렉트 하는편이 낫습니다)