CI 묻고 답하기

제목 이미지 경로나 css가 호출이 안되고 있습니다.
카테고리 CI4 관련
글쓴이 kasumil 작성시각 2021/12/22 12:32:02
댓글 : 4 추천 : 0 스크랩 : 0 조회수 : 605   RSS

안녕하세요.

질문이 있습니다.

사이트 내 검색을 통하여 결과를 찾지 못하였기에 질문하고자 합니다.

 

현재 문제점으로는 css나 js, img가 호출되지 않고 있습니다.

현 폴더 구조는

root

 ㄴ app

   ㄴ views

     - 해당 페이지.php

 ㄴ public

   - css

   - images

   - .htaccess

 ㄴjs

 

이러한 구조입니다.

해당 페이지.php에서 호출할 경우 css나 js 그리고 images가 호출되지 않습니다.

/public/images/logos/logo.svg

할 경우 네트워크 응답 값으로 not found가 뜨고 있는데 왜 그런걸까요?

다른 글을 찾아보니 심볼릭 링크를 쓰라고 하는데, 제가 심볼릭 링크 설정은 어떻게 해야하는지 잘 모르겠습니다.

ci4 신규로 배우고 있어서 잘 몰라 필수 경로 설정을 해야 하는건지 모르겠습니다.

ci4에 사이트 템플릿 부트스트랩을 적용하여 사이트를 제작하려는 상태에서 이런 문제가 발생하고 있습니다.

 

답변해주시면 감사합니다.

현재 해당페이지 컨트롤러입니다.

<?php

namespace App\Controllers;

class Creators extends BaseController
{
	public function index()
	{
		return view('creators');
	}

	public function view($page = 'creators')
    {
        if (!is_file(APPPATH.'/Views/'.$page.'.php')) {
            // Whoops, we don't have a page for that!
            throw new \CodeIgniter\Exceptions\PageNotFoundException($page);
        }

        $data['title'] = ucfirst($page); // Capitalize the first letter

        // echo view('tutorial/templates/header', $data);
        echo view('pages/'.$page, $data);
        // echo view('tutorial/templates/footer', $data);
    }
}

 

 다음글 index.php를 죽여야하는데, 안죽습니다... (2)
 이전글 ci2 서버 이전, php7로 했는데 에러가.. (5)

댓글

변종원(웅파) / 2021/12/22 13:07:25 / 추천 1

ci4는 public 디렉토리가 기준입니다.

뷰에서 어떻게 쓰셨는지 올리셔야.... ^^;;

kasumil / 2021/12/22 13:11:42 / 추천 0

// 변종원(웅파)

네, 안녕하세요 변종원(웅파)님.

현재 view에서는 사용은 이렇게 하고 있습니다.

<link
			rel="stylesheet"
			href="/public/css/plugins/bootstrap.min.css"
			/>
		<link
			rel="stylesheet"
			href="/public/css/plugins/swiper-bundle.min.css"
			/>
		<link rel="stylesheet" href="/public/css/style.css" />

// header

<a href="/">
  <img src="/public/images/logos/Logo.svg" alt="logo" id="logo_js_f">
</a>

이렇게 작성해서 최초 페이지 로딩시 접근중에 있습니다.

하지만 이렇게 접속시에 The requested URL was not found on this server.가 뜨는데
도메인/index.php/public/images/logo/logo.svg 이렇게 안들어가서 호출이 안되는걸까요?
src='public/....' 이렇게 하면 경로에 index.php가 들어가서 
일부러 src='/public/....' 이렇게 하여 접근했더니 경로에 index.php가 빠져서 일단 경로를 이렇게 구성하였습니다.
두 방식 모두 404가 뜨고 있습니다.
한대승(불의회상) / 2021/12/22 13:26:48 / 추천 1

/public/css/plugins/bootstrap.min.css => /css/plugins/bootstrap.min.css

로 수정해서 테스트 해보세요.

kasumil / 2021/12/22 13:31:31 / 추천 0

// 한대승(불의회상)

네, 한대승(불의회상)님.

바로 적용해보니 진짜 감사합니다.!!

문제가 해결되었어요!!