BOARD

팁·활용

아파치 웹서버에서 .php 확장자 숨기기 및 깔끔한 URL 설정 방법

페이지 정보

profile_image
작성자 최고관리자
댓글 0건 조회 2회 작성일 26-10-12 16:31

본문

아파치 웹서버에서 .php 확장자 숨기기 및 깔끔한 URL 설정 방법

아파치 웹서버와 PHP 환경에서.php 확장자를 노출하지 않고 깔끔한 URL로 스크립트 페이지를 호출하려는 운영자·개발자를 위해.htaccess 설정 방법과 주의사항을 안내합니다.

##.htaccess를 이용한 PHP 확장자 숨기기 설정 방법

아파치 웹서버에서 URL의 .php 확장자를 노출하지 않고 깔끔한 주소로 스크립트 페이지를 호출하려면 웹페이지 루트 경로에 .htaccess 파일을 생성하고 리라이트(Rewrite) 규칙을 설정해야 합니다.

1..htaccess 파일 생성 및 코드 추가

웹페이지 루트 경로에 .htaccess 파일을 생성(메모장이나 노트패드 등으로 작성 가능)한 후 아래의 코드를 입력하여 저장합니다.

RewriteEngine On
RewriteCond %{REQUEST_FILENAME}!-f
RewriteRule ^([^\.]+)$ $1.php [NC,L]
  • RewriteEngine On: 리라이트 엔진을 활성화합니다.
  • RewriteCond %{REQUEST_FILENAME}!-f: 요청된 이름의 실제 파일이 존재하지 않는 경우에만 규칙을 적용합니다.
  • RewriteRule ^([^\.]+)$ $1.php [NC,L]: 확장자가 없는 문자열로 들어온 요청을 뒤에 .php를 붙여 내부적으로 처리합니다.

2. 주의사항 및 환경 확인

  • AllowOverride 설정 영향: 이 기능은 아파치 설정 중 AllowOverride 속성의 영향을 받습니다. 해당 속성값이 none으로 되어 있으면 .htaccess 파일을 사용할 수 없으므로, 이 경우 httpd.conf에 해당 내용을 적거나 관리자에게 설정을 바꿔 달라고 요청해야 합니다.

아파치 설정에서 AllowOverride 확인하기

.htaccess 파일에 설정을 추가했음에도 확장자 없는 URL이 정상적으로 작동하지 않거나 500 오류가 발생한다면, 아파치 서버 설정에서 AllowOverride 속성을 확인해야 합니다.

이 기능은 아파치의 설정 중 AllowOverride 속성의 영향을 받습니다. 이 속성값이 None으로 설정되어 있으면 .htaccess 파일을 통한 재설정이나 덮어쓰기가 허용되지 않아 파일 내의 설정이 무시됩니다.

확인 및 조치 방법

  • 아파치 설정 파일(httpd.conf)에서 해당 디렉토리에 대한 AllowOverride 속성 값을 확인합니다.
  • 값이 None으로 되어 있다면, 이를 All 또는 필요한 권한(예: AuthConfig, FileInfo 등)으로 변경해야 합니다.
  • 웹호스팅 환경을 이용 중이라면 서버 관리자에게 AllowOverride 설정을 변경해 달라고 요청해야 합니다.

아파치 MultiViews 옵션을 활용한 확장자 없는 PHP 파일 서비스 방법

아파치 웹서버 설정에서 MultiViews 옵션을 활용하면 .htaccess 파일을 직접 수정하기 어려운 환경에서도 확장자 없이 PHP 파일을 서비스할 수 있습니다.

아파치 설정 방법

아파치 설정 파일(httpd.conf 등)에서 해당 디렉토리의 설정 부분에 아래와 같이 MultiViews를 포함한 Options를 설정해 줍니다.

Options Indexes FollowSymLinks MultiViews

이 설정을 적용하면 https://devscb.com/test와 같이 확장자가 없는 주소로 요청이 들어왔을 때 서버가 내부적으로 대응하는 .php 파일을 찾아 서비스할 수 있게 됩니다.

상황별 판단 및 행동 가이드

내 상황선택 기준다음 행동
URL에서.php 확장자를 숨기고 싶을 때웹 서버가.htaccess를 지원하는지 확인루트 경로에.htaccess 생성 후 리라이트 규칙 추가
.htaccess 적용 후 500 오류 발생AllowOverride 설정이 None인지 확인httpd.conf에서 AllowOverride를 All 또는 필요한 권한으로 변경
.htaccess 수정이 불가능한 환경서버 설정 파일 접근 권한 여부관리자에게 AllowOverride 설정 변경 요청 또는 MultiViews 옵션 사용 검토

실전 FAQ

Q..htaccess 설정 후 500 오류가 발생하면 어떻게 하나요?

  • 원인: 문법 오류나 서버 설정 충돌로 인해 아파치가 요청을 처리하지 못하는 상태입니다.
  • 대안: .htaccess 파일 이름을 임시로 변경(예: .htaccess_bak)하여 사이트가 정상 복구되는지 확인하십시오. 복구된다면 파일 내 지시어 오타를 점검하고, 서버의 error_log를 확인하여 구체적인 원인을 파악해야 합니다.

Q. 웹호스팅 환경에서 AllowOverride를 수정할 수 없습니다.

  • 대안: 호스팅 업체에 문의하여 해당 디렉토리의 AllowOverride 권한을 요청하십시오. 만약 설정 변경이 불가능하다면, 아파치 설정에서 Options MultiViews를 활성화하는 대안을 관리자에게 문의할 수 있습니다.

참고자료

기타 참고자료

댓글목록

등록된 댓글이 없습니다.