문제

방금 CodeIgniter로 시작했으며 CSS, JS 및 이미지와 같은 것들이 어디로 가야하는지 잘 모르겠습니다. 전체 시스템 폴더 외에는 괜찮은 것처럼 보이지만 모든 것이 별거된다는 것을 의미합니다. 내부는 FilePath가 더 길다는 것을 의미하며, 그것이 엉망이 될까 걱정됩니다. 이 문제에 대한 모범 사례는 무엇입니까?

도움이 되었습니까?

해결책

나는 보통 별도의 폴더를 루트 레벨에 넣으므로 다음과 같은 디렉토리 구조로 끝납니다.

/system
/css
/js
/img

당신이 사용할 때 나를 위해 일하는 것 같습니다 site_url(url), 생성하는 URL은 루트에서 나오므로 사용할 수 있습니다. site_url('css/file.css') 스타일 시트 등에 URL을 생성하려면

다른 팁

개인적으로, 나는 찢어진다 application 디렉토리에서 system 디렉토리와 형제로 만드십시오 system. 그런 다음 프로젝트 디렉토리를 만듭니다 public_html (www) 내가 index.php를 이동하고 공개 자산을 저장하는 곳.

작업중 인 프로젝트가 projekt. 부모 디렉토리에서 public_html (www) 호출 된 디렉토리를 만듭니다 CISYSTEM, 및 해당 디렉토리 내부에서 사용중인 버전에서 디렉토리를 만듭니다. 202, 210 등.

/CISYSTEM
    /202
    /210
    /another_CI_version
/projekt_application
    /models
    /views
    /controllers
    /private_assets
/public_html
    /projekt
        index.php
        .htaccess
        css
        img
        js
        lib

이 디렉토리 구조의 아름다움은 다른 보안 계층을 추가하고 CI 코어를 업그레이드/교체하는 것이 치명적인 것입니다. 또한 코어를 변경하지 않아도됩니다. 코어가 저장되는 단일 디렉토리가 있고 모든 프로젝트를 참조하여 물건을 건조하게 유지합니다.

이 모든 디렉토리 셔플 링은 몇 가지를 다시 라우팅해야합니다. 운 좋게도 Codeigniter는 쉽게 만듭니다. 모든 변경 사항은 index.php 파일.

열려 있는 index.php 그리고 몇 가지를 다시 라우팅합니다.

변화: $system_path = 'system';

에게: $system_path = '../../CISYSTEM/210';

변화: $application_folder = 'application';

에게: $application_folder = '../../projekt_application';


또한 많은 사람들이 site_url() 다른 대답에서. 덜 장악하는 방법을 추천합니다 site_url()... HTML을 사용하면 매번 전화 할 필요가 없습니다. <base> 요소:

<base href="<?= site_url();?>">

응용 프로그램에 포함하십시오 <head> 그리고 당신은 컨트롤러를 직접 호출 할 수 있습니다 ...

<a href='controllername/functionname'>Some Action</a>

건배

나는 루트 레벨에 너무 많은 디렉토리를 갖는 것을 싫어하기 때문에 /공개를 사용하고 htaccess를 사용하여 /public /scripts 등을 다시 작성 /스크립트를 다시 작성합니다.

자산을 루트 레벨로 유지하는 것이 가장 좋습니다. 당신이 사용할 수있는 <?=base_url()?> 사이트의 전체 루트를 반향합니다. 구성 파일에서 웹 사이트의 루트를 설정합니다. 이 진술은 그냥 반향합니다.

이로 인해 다음과 같은 내용을 사용할 수 있습니다.

<link href="<?=base_url()?>/css/style.css" rel="stylesheet" type="text/css" />

코드의 어느 곳에서나 여전히 http://example.com/css/style.css.

base_url ()/css/name.css

이러한 방식으로 Site_url (URL) 도우미를 사용하려면 먼저 URI에서 index.php 세그먼트를 제거하려면 Apache Mod_rewrite (또는 동등한)를 구성해야합니다.

그렇지 않으면 site_url 메소드는 URL에 index.php를 추가하여 위와 같은 기본 디렉토리에있는 경우 자산의 경로를 망칠 수 있습니다.

URI에서 index.php를 제거하는 Codeigniter 문서는 다음과 같습니다.

http://codeigniter.com/wiki/mod_rewrite/

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top