웹 서버를 설치하고 개발, 운용하는 경우 주소가 http://www.hello.com/world.php?param=1 과 같은 형태로 보여지게되면 뭔가 지저분해 보이기도 하고 약간은 신경을 덜 쓴 듯한 느낌이 든다.
이 때 주소를 http://www.hello.com/world?param=1 또는 http://www.hello.com/world 와 같이 깔끔하게 쓰기 위해서는 Linux, apache, php (LAPM) 환경에서 다음과 같은 작업을 한다.
1. httpd.conf 파일 수정
: Document root director가 될 디렉토리(다음의 예에서는 “myweb_directory” 또는 룰을 적용할 디렉토리에 대한 옵션을 지정한다. 만약 이미 지정되어 있으면 다음의 내용이 있는지 확인한다.
<Directory "/var/www/myweb_directory"> Options -Indexes MultiViews FollowSymLinks AllowOverride All
-Indexes 옵션은 디렉토리의 파일 list를 보여주지 않는 옵션이므로 보안상 적용한다.
다음 httpd 를 다시 시작한다
service httpd restart
이제 http://www.hello.com/world와 같이 써도 인식이 된다. 각 화면에 속한 소스들에서 사이트 내의 link를 “/dir/index.php” 와 같이 작성된 부분을 “/dir/index”로 수정한다.
2. php.ini 파일 수정
/etc/php.ini 파일에서 다음과 같이 수정한다.
expose_php = Off
php.ini를 수정하는 이유는 세션아이디와 같은 부분에서 임시파일 또는 패킷을 캡쳐해서 확인하는 경우 PHP를 사용하는 것을 알 수 있다. 이러한 부분을 숨겨준다고 하니 추가로 꼭 지정한다.
apache의 rewrite rule을 이용하는 부분은 조금 더 복잡하나 다양한 방법으로 주소를 숨길 수 있다.
RewriteEngine on RewriteCond %{REQUEST_FILENAME} !-d # is not directory RewriteCond %{REQUEST_FILENAME}\.php-f # is an existing php file RewriteRule ^(.*)$ $1.php # rewrite index to index.php
이렇게 한다면 php생략으로 접속이 가능하게 한다.
'PHP' 카테고리의 다른 글
[Centos 7] PHP 7.3 설치 (0) | 2019.05.10 |
---|---|
자바 스크립트(javascript)에서 POST 전송하기 (1) | 2018.10.27 |
[PHP] php 파일 확장자 변경 (나만의 확장자 만들기) (0) | 2018.05.20 |
[PHP] <?php 를 줄여보자! short_open_tag (0) | 2018.05.20 |
[PHP] eval 함수 사용법 (0) | 2018.05.07 |
댓글