로컬에서 하던 코드를 서버로 띄웠는데, index 를 제외하고 404Error 가 떴다.
아 이건 apache 문제다 싶어서 바로 검색했는데,
- .htaccess 에 AllOverride All 를 하고 'systemctl restart service' 를 하라고 했다.
→ 여긴 보안이 너무 빡세서 그런지 내 마음대로 저 명령어를 치는 권한이 없어서 칠 수가 없었다.. ㅎ
→ 그리고 All로 바꿨을 때는 / 주소를 포함한 모든 url이 403error를 띄웠다.
- 어쩌지 하다가 헬프를 쳤는데 같이 보다보니 '도메인/index.php/설정한 route주소' 로 접근하면 접속이 됐다 (???)
- 그리고 구글에서 많은 글을 읽다보니 AllOverride None일때는 .htaccess를 읽지 않는다는 것을 알았다. 회사내에서 사용하는 코드는 docker폴더 내에 dev, qa, prod 폴더를 따로 만들고 각자 php, apache를 돌릴 수 있는 컨피그 파일들이 httpd-vhost.conf, httpd-userdir.conf 이런식으로 있었다.
→
[httpd-vhost.conf]
DocumentRoot "/home/apps/www/public"
[httpd-userdir.conf]
<Directory "/home/apps/www">
AllowOverride None
php_flag engine on
</Directory>
- 2와 같은 에러를 검색해보았더니 자꾸 index.php 가 들어가면 index.php를 없앤 주소로 리다이렉트 하는 방법만 나왔다.. ㅎ... 아무리봐도 컨피그 파일을 건드리는 게 맞는 것 같은데.. 하다가 전회사분에게 연락했다.
- 전회사분도 어리둥절... 원래 그냥 되는 거 아닌가요? 그러게요 ㅎ 그러다가 그분이 호스트를 건들긴 해야될 것 같은데 하시면서 vhost에 index.php까지 넣으면 안되냐고 했다. 그래서 너무 지친 나머지 해볼게요 하고 했는데 됐다(??)
→
[httpd-vhost.conf]
DocumentRoot "/home/apps/www/public/index.php"
..DocumentRoot가 서버path로 알고 있는데 왜지..? 일단 해결했으니 넘어갔으나 다른 분이 또 다른 해결방법을 주셔서 내일 해봐야될 것 같다^^