/ 를 제외한 404Error

개발새발·2021년 10월 24일
0

apache

목록 보기
2/4

로컬에서 하던 코드를 서버로 띄웠는데, index 를 제외하고 404Error 가 떴다.

아 이건 apache 문제다 싶어서 바로 검색했는데,

  1. .htaccess 에 AllOverride All 를 하고 'systemctl restart service' 를 하라고 했다.
    → 여긴 보안이 너무 빡세서 그런지 내 마음대로 저 명령어를 치는 권한이 없어서 칠 수가 없었다.. ㅎ
    → 그리고 All로 바꿨을 때는 / 주소를 포함한 모든 url이 403error를 띄웠다.
  2. 어쩌지 하다가 헬프를 쳤는데 같이 보다보니 '도메인/index.php/설정한 route주소' 로 접근하면 접속이 됐다 (???)
  3. 그리고 구글에서 많은 글을 읽다보니 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>
  1. 2와 같은 에러를 검색해보았더니 자꾸 index.php 가 들어가면 index.php를 없앤 주소로 리다이렉트 하는 방법만 나왔다.. ㅎ... 아무리봐도 컨피그 파일을 건드리는 게 맞는 것 같은데.. 하다가 전회사분에게 연락했다.
  2. 전회사분도 어리둥절... 원래 그냥 되는 거 아닌가요? 그러게요 ㅎ 그러다가 그분이 호스트를 건들긴 해야될 것 같은데 하시면서 vhost에 index.php까지 넣으면 안되냐고 했다. 그래서 너무 지친 나머지 해볼게요 하고 했는데 됐다(??)
[httpd-vhost.conf]
DocumentRoot "/home/apps/www/public/index.php"

..DocumentRoot가 서버path로 알고 있는데 왜지..? 일단 해결했으니 넘어갔으나 다른 분이 또 다른 해결방법을 주셔서 내일 해봐야될 것 같다^^

profile
발새발개

0개의 댓글