수색…


Codeigniter에서 기본 URL 설정하기

application/config/config.php 에 기본 URL을 설정해야합니다.

설정되어 있지 않으면 CodeIgniter는 설치에 대한 프로토콜과 경로를 추측하려고 시도하지만 보안상의 이유로 호스트 이름은 $_SERVER['SERVER_ADDR'] 사용 가능한 경우) 또는 localhost (그렇지 않은 경우)로 설정됩니다. 자동 감지 메커니즘은 개발 중 편의를 위해서만 존재하며 프로덕션 환경에서는 사용하지 마십시오!

$config['base_url'] = '';

다음과 같이 제출해야합니다.

$config['base_url'] = 'http://localhost/projectname/';

$config['base_url'] = 'http://www.example.com/';

base_url 끝에서 항상 / 사용하는 것이 좋습니다.

기본 URL을 설정하지 않으면 CSS, 이미지 및 기타 자산 항목을로드 할 수없는 오류가 발생할 수 있습니다. 또한 일부 사용자의 경우 양식 제출이 어려울 수 있습니다.

최신 정보

기본 URL을 다른 방법으로 설정하고 싶지 않은 경우

application/core/MY_Config.php 에 새 코어 파일 만들기

이 코드 붙여 넣기

<?php

class MY_Config extends CI_Config {

    public function __construct() {

        $this->config =& get_config();

        log_message('debug', "Config Class Initialized");

        // Set the base_url automatically if none was provided

        if ($this->config['base_url'] == '')
        {
            if (isset($_SERVER['HTTP_HOST']))
            {
                $base_url = isset($_SERVER['HTTPS']) && strtolower($_SERVER['HTTPS']) !== 'off' ? 'https' : 'http';
                $base_url .= '://'. $_SERVER['HTTP_HOST'];
                $base_url .= str_replace(basename($_SERVER['SCRIPT_NAME']), '', $_SERVER['SCRIPT_NAME']);
            }

            else
            {
                $base_url = 'http://localhost/';
            }

            $this->set_item('base_url', $base_url);

        }
    }
}

base_url에 대해 더 알아보기

base_url 설정하지 않으면 어떻게됩니까?

이것을 설정하고 진행하기 위해 어떤 무능력 오류도 발생하지 않습니다. 설정하지 않고도 계속할 수 있지만 HTTP 헤더 삽입에 대해 알아야합니다.


내가 무엇을 나타낼 지 설정하지 않았다면?

실제 URL 대신 http://[::1]/ 를 받게됩니다.


이것은 http://[::1]/ ??을 의미하는 것입니까?

이것은 CI가 기본값으로 설정 한 임시 URL입니다. 이것은 문서의 루트를 가리킬 것입니다.

::1 - 서버 주소 (localhost) 자세히 알아보기


적절한 base_url() 을 설정하는 방법 ??

기본 URL은 항상 프로젝트 폴더의 루트를 가리켜 야합니다. (외부 응용 프로그램 폴더)

$config['base_url'] = 'http://localhost/path/to/project'; # If localhost
$config['base_url'] = 'http://stackoverflow.com/'; # If live
$config['base_url'] = 'http://stackoverflow.com/documentation'; # If live & inside subdomain (assume documentation is subfolder/subdomain)

base_url() 을 사용하는 방법 ??

가장 일반적인 사용은 js 또는 css 파일에 대한 올바른 경로를 찾는 것입니다.

<link rel="stylesheet" href="<?php echo base_url('styles/style.css');?>" />
<script src="<?php echo base_url('vendor/jquery/jquery.min.js');?>"></script>

위의 코드를보기에 추가하면 아래와 같은 HTML이 생성됩니다.

<link rel="stylesheet" href="http://localhost/path/to/project/styles/style.css" />
<script src="http://localhost/path/to/project/vendor/jquery/jquery.min.js"></script>

모래밭

  1. URL 도우미

base_url을 설정하는 현명한 방법

다음 코드 행은 base_url 에서 base_url을 설정하는보다 현명한 방법입니다.

$config['base_url'] = ((isset($_SERVER['HTTPS']) && $_SERVER['HTTPS'] == "on") ? "https" : "http");
$config['base_url'] .= "://".$_SERVER['HTTP_HOST'];
$config['base_url'] .= str_replace(basename($_SERVER['SCRIPT_NAME']),"",$_SERVER['SCRIPT_NAME']);

추천

$config['base_url'] = 'https://stackoverflow.com/';

모두가 호스팅 공간을 알고 있기 때문입니다. 따라서 이렇게 설정하면 사이트 / 호스트에 대한 주입을 방지수 있습니다 .



Modified text is an extract of the original Stack Overflow Documentation
아래 라이선스 CC BY-SA 3.0
와 제휴하지 않음 Stack Overflow