codeigniter
Codeigniter의 기본 URL
수색…
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>
모래밭
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/';
모두가 호스팅 공간을 알고 있기 때문입니다. 따라서 이렇게 설정하면 사이트 / 호스트에 대한 주입을 방지 할 수 있습니다 .