제목 | 설치관련 및 controller 문의드립니다. | ||
---|---|---|---|
카테고리 | CI 4 관련 | ||
글쓴이 | 민들레군 | 작성시각 | 2022/12/06 12:06:31 |
|
|||
안녕하세요 가입하자마자 이렇게 문의먼저 남깁니다. ci4는 처음이라 다소 어려움이 있어 혹시나 이런글 보고 도움이 되실수도 있겠단 생각이 들어 설치부터 현재 진행한것까지 쭉 남기면서 문제점또한 같이 공유해볼려고 합니다. 아직은 해결하지 못한상태이지만 도와주시면 금방해결이 되지 않을까 하는 마음에 몇자 남겨봅니다.
설치는 자동설치(composer로 설치를 했습니다.) 기본인 public 디렉토리를 public_html로 변경을 했습니다. 여기서 중요한게 기존에 apache home디렉토리 설정이 /home/계정명/public_html 이렇게 구성이 되어있는데 현재 composer를 계정명쪽에 설치를 하고 public을 public_html로 변경하였습니다. 결과는 index 화면은 잘 나옵니다.
문제는 그 다음부터인데 controllers에 Pages.php를 하나 만들고 Home.php에 있는걸 그대로 복사해서 붙여넣기 하고 클래스명만 pages로 변경하였습니다.
<?php namespace App\Controllers; class Pages extends BaseController { public function index() { return view('welcome_message'); } }
이렇게 변경하고 해당 경로에서 확인을 했는데 확인이 안됩니다. http://localhost/pages 위와 같이 접속을 했습니다. 찾아보니 http://localhost/controller/pages 이렇게 해보라고 해서 이렇게 해도 안되네요 ㅠ app/config/routes.php 문제인가 해서 해당 파일 열어보았는데 이부분에도 별다른건 없어보이는데
의심하고있는 부분이 1.제가 설치를 잘못했다. 2.controller에서 무언가 사용방법을 잘못놓쳤다. 3.router에 문제가 있다. 이정도밖에 생각이 들진 않는데 controller에서 home.php안에 model사용하는거나 views는 되어졌습니다.
아 그리고 한가지 더 특이한게 home::index만 될뿐이지 public function view(){ //내용 } 이렇게 home.php안에 다른 이름으로 함수 넣고 url에서 불러들여도 작동이 되어지지 않습니다.
제가 어떤걸 놓쳤는지 혹시 알수 있을까요?
끝까지 읽어주셔서 감사드립니다.
|
|||
다음글 | 터미널로 php 실행하면 php fatal error ... (1) | ||
이전글 | 관리자 페이지 로그인이 한번에 안되는 문제 (1) | ||
한대승(불의회상)
/
2022/12/06 12:25:30 /
추천
1
|
민들레군
/
2022/12/06 14:12:28 /
추천
0
답변 감사드립니다. routes 부분은 몇차례 해보았는데 안되어집니다.
$routes->get('/pages', 'Pages::index'); $routes->get('pages', 'Pages::index'); 둘다 해보았지만 순수하게 not found가 나옵니다.
저도 routes부분에서 의심을 해보고 있긴한데 routes에서는 그냥 먹통이라 혹시나해서 $routes->get('/', 'Home::index'); 지우게 되면 아래와 같이 나오게 됩니다.
이런걸 보면 애시당초 pages를 인식을 못하는듯한데 혹시 composer 설치시 htaccess 부분도 자동으로 생성되어지는게 있을까요?
|
민들레군
/
2022/12/07 10:17:22 /
추천
0
한가지 찾았는데 http://localhost/index.php/pages 이렇게 접속하니 정상 노출되어지는걸로 보이네요 .htaccess 부분을 잡아주면 될듯해서 public_html안에 .htaccess 관련 찾아보니
https://www.cikorea.net/bbs/view/tip?idx=20472 위와같이 조치하니 해결하였습니다. 저는 public 을 public_html로 변경하였기에 public_html에 .htacess 신규로 생성하여 적용하니 잘되었습니다. application, public, system, tests, docs 에는 별도로 적용하지 않았습니다.
|
kasumil
/
2023/02/15 11:54:41 /
추천
0
// $routes->setAutoRoute(false); $routes->setAutoRoute(true); 한대승님 말씀대로 오토 라우팅이 꺼져있으니 제가 작성한 코드블록으로 해당 세팅을 건드려주시면 됩니다. |
CI4.2 버전부터 보안상의 문제로 자동라우팅(auto routing) 기능이 off된 상태로 출시됩니다.
라우팅 메뉴얼 참고하시어 추가된 컨트롤러를 정의해 주세요.
http://ci4doc.cikorea.net/incoming/routing.html#defined-route-routing
app/Config/Routes.php 파일 에디터로 여신후 아래처럼 추가한 후 http://localhost/pages 로 테스트 해보세요.