サーチ…


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>

リンク

  1. 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