본문 바로가기
개발팁

아파치 httpd 서버에서 확장자 숨김, apache 확장자 숨기기, 확장자 없이 사용하기, php 확장자 숨기기, apache 확장자 없이

by devscb 2023. 11. 16.
반응형

 

 

아파치 httpd 웹서버 확장자 숨김

https://devscb.com/test.php 라는 페이지를 서비스 할때,
https://devscb.com/test 와 같이 확장자 없이 동일한 페이지를 서비스할 수 있도록 설정하고자 합니다.

아파치 설정 변경

이를 위해서는 apache conf 파일을 아래와 같이
Options Indexes FollowSymLinks MultiViews를 설정해주면 됩니다.

# 기본 사용법
<Directory /var/www>
 Options MultiViews
 AddType application/x-httpd-php .php
</Directory>

# Virtual host사용하는 경우
<VirtualHost *:80>
 Options MultiViews
 AddType application/x-httpd-php .php
</Directory>

config 파일 위치는 리눅스 기준으로 보통 아래 디렉토리에 위치해있습니다
/etc/httpd/conf/httpd.conf (CentOS 계열)
/etc/apache2/apache2.conf (Ubuntu계열)

만일 해당 위치에 존재하지 않다면, 아래와 같은 명령어를 사용하여 확인할 수 있습니다.

  1. Fedora 계열
    httpd -V | egrep "(HTTPD\_ROOT|SERVER\_CONFIG\_FILE)"
    -D HTTPD_ROOT="/etc/httpd"
    -D SERVER_CONFIG_FILE="conf/httpd.conf"
  2. Debian계열
    apache2 -V | egrep "(HTTPD\_ROOT|SERVER\_CONFIG\_FILE)"
    -D HTTPD_ROOT="/etc/apache2"
    -D SERVER_CONFIG_FILE="apache2.conf"

Options MultiViews 의 의미

서버가 확장자에 관계없이 파일이름을 자동으로 확인하여서 실행해줍니다.
이 옵션에 대한 동작은 다음과 같습니다.

1) /some/dir/foo에 대한 요청을 받은 후에,
서버에서 /some/dir/foo가 존재하지 않을 경우,
서버는 디렉토리에서 이름이 foo.*인 파일들을 모든 포함하는 가상의 type map을 만든다.

2) 클라이언트가 요청한 media type과 content-encoding을 확인하여 가장 적합한 파일을 선택하여 실행합니다.

기타 참고 옵션들

1) Indexes:
index.php와 같이 DirectoryIndex가 없는 Directory에 접근 시 Directory의 내용이 표시됩니다.
보안 문제가 될 수 있으므로, 사용하지 않는것을 추천합니다.

2) FollowSymLinks:
아파치가 심볼릭 링크를 사용할 수 있게 합니다.
보안 문제가 될 수 있으므로, 사용하지 않는것을 추천합니다.

AddType application/x-httpd-php .php 의 의미

php확장자가 붙은 파일은 PHP 스크립트 파일로 생각하고,
PHP 엔진을 통해서 실행한 후 그 결과를 클라이언트로 전송하라는 의미입니다.
아래와 같이 여러 개의 확장자를 지정할 수도 있습니다.

AddType application/x-httpd-php .php .php3 .html 

#apache,#httpd,#webserver,#php,#conf,#아파치,#웹서버

 

 

 

https://devscb.com/post/199/

 

Hide extension on Apache httpd server, hide apache extension, use without extension, hide php extension, use without apache exte

Apache httpd web server extension hiddenWhen serving the page https://devscb.com/test.php,We would like to set up the same page as https://devscb.com/test without an extension. Change Apache settings

devscb.com

 

728x90
반응형

댓글