-
PHP로 JSON API 서버 만들 때에 index.php 없이 서버 URL 만드는 Apache 설정 방법개발 & 계발/PHP 2023. 10. 21. 15:48반응형
Client가 서버 API 호출을 할 때에 http://{서버}/api/data/dc 와 같은 URL인 경우
PHP는 기본적으로 http://{서버}/api/data/dc.php 처럼 .php이 붙는 상태로 호출을 하기 때문에 다른 Nginx + Django와 같은 다른 웹 서비스를 이용해야 하나 하는 고민이 있었다.
이 경우 Apache의 설정으로도 http://{서버}/api/data/dc 와 같이 사용할 수 있고,
이 때에 api는 폴더이고 api 폴더에 index.php가 응답을 하는 구조이다.
해결책을 제시하기 전에 Apache의 설정 값을 바꾸지 않고 패킷을 캡쳐한 결과
서버가 Client에 "HTTP/1.1 301 Moved Permanently" 라는 메시지를 응답하고,
Client는 GET방식으로 다시 호출을 하면 서버는 HTTP/1.1 200 OK를 응답한다.
이를 해결하기 위해서
Apache에 다음과 같이 설정하니, 301 Moved...는 없었다.
<IfModule mod_rewrite.c> RewriteEngine On RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d RewriteRule ^(.*)$ index.php/$1 [L] </IfModule>
400 에러는 소스 문제이니까, 점검해 보면 되겠다.
'개발 & 계발 > PHP' 카테고리의 다른 글
PHP EXPECT 설치 (at 라즈베리파이) (0) 2020.06.20 RSA 암호화/복호화 예제 (rsa_encrypt/rsa_decrypt) (0) 2019.06.18 PHP 소켓 서버 만들기! (0) 2018.12.04 PHP 변수 필터 (validation) (0) 2018.11.19 phpMyAdmin 외부 서버 연동 방법 (0) 2018.11.15