본문 바로가기

카테고리 없음

[Linux] PHP를 html등의 다른 확장자로 바꾸기

리눅스에서 PHP의 기본 환경으로는 .html 확장자가 비활성화 되어있다.


서버를 가동중인 서버 사이드 언어를 은폐시키고 싶어서 다른 확장자로 rewrite 하는 방법을 찾고 있었다거나

간단하게 .html 확장자를 열어주고 싶다거나 하는 상황이라면 이를 바꿔주도록 하자.



1. PHP의 시스템 설정을 변경하기 위해 하단의 명령어를 질의한다.

sudo nano /etc/php5/fpm/pool.d/www.conf



2. security.limit_extensions 를 찾아 주석을 제거한다. (주석은 왼쪽에 ; 세미콜론을 없애면 된다.)

security.limit_extensions = .php .html .htm

대충 알 수 있듯이 .php .html .htm 확장자를 허용한다는 뜻이다.

물론 여기서 추가하고 지우고 해봤자 웹 서버의 설정에 추가하지 않으면 작동하지 않는다.



3. 이제 웹 서버에서 설정해주기 위해 아래 명령어를 입력한다. (파일이 다를 수 있음.) 
sudo nano /etc/nginx/sites-available/default


4. 운영하는 서버의 location에 새 확장자를 추가시킨다.
location ~ \.php$ {
...
}

위의 코드를 하단의 코드로 바꾼다.

location ~ \.(php|html|htm)$ {
...
}

5. 웹서버와 php를 재시작한다.

sudo service nginx reload
sudo service php7.2-fpm restart



이 방법은 .html 확장자는 물론

.jsp
.do
.aa
.sex
.king_sejong

등 어떤 확장자를 갖다놔도 가동된다.

물론 문제는 확장자 전체를 가져다 바꿔야 하기 때문에 이미 가동중인 서비스에서는 적용이 거의 불가능하다.