codeigniter
CodeigniterのベースURL
サーチ…
CodeigniterでベースURLを設定する
application/config/config.php
ベースURLを設定する必要があります
設定されていない場合、CodeIgniterはインストールのプロトコルとパスを推測しようとしますが、セキュリティ上の理由から、ホスト名は$_SERVER['SERVER_ADDR']
設定されます。自動検出メカニズムは、開発中の便宜のためにのみ存在し、本番環境では使用してはいけません。
$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
設定しないとどうbase_url
ますか?
これを設定して続行するには、インポテンシエールのエラーは発生しません。設定せずに続行できますが、 HTTPヘッダインジェクションについて知っておく必要があります
私はそれを設定しなかった場合、何が表示されますか?
あなたは実際のURLの代わりにhttp://[::1]/
を取得します。
これはhttp://[::1]/
??という意味ですか?
これはデフォルトでCIによって設定された一時URLです。これにより、ドキュメントのルートがポイントされます。
::1
-サーバのアドレス(ローカルホスト) これについての続きを読みます
適切な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
を設定するよりスマートな方法です。
$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/';
誰もがホスティングスペースを知っているからです。このように設定すると、サイト/ホストへの注入を防ぐことができます 。