私はコードイグナイターでこのようなディレクトリ構造を持っています:
Appsite
-website
-application
-images
Index.phpの画像にアクセスするとき、私は<img src="http://localhost/Appsite/website/images/images.PNG"
を使用しました。
そして、hrefは:<li class=""><a href="http://localhos/tAppsite/website/index.php/home/">Home</a></li>
コードイグナイターで画像やライブラリにアクセスするときにhttp://localhost
を含めることはお勧めしません。だから私は$config['base_url']
のconfig.php
を$config['base_url'] = "http://".$_SERVER["HTTP_Host"]."/";
に変更しようとしました
次に、イメージソースと他のライブラリソースを更新し、localhostとディレクトリフォルダーの名前を削除します。
<img src="images/images.PNG”>
<li class=""><a href= <?php echo base_url;?> /website/index.php/home/">Home</a></li>
しかし、エラーが発生します。オブジェクトが見つからないことを示しています。助けてもらえますか?
Config.php内
$config['base_url'] = 'http://localhost/Appsite/website/';
$config['index_page'] = '';
# If online site
# $config['base_url'] = 'http://stackoverflow.com/';
In .htaccess
(アプリケーションフォルダー外)-URLのindex.php
を削除するには
RewriteEngine on
RewriteCond $1 !^(index\.php|assets|image|resources|robots\.txt)
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ index.php?/$1 [L,QSA]
RLにアクセスする場合
<a href="<?php echo base_url();?>contollerName/methodName"> click here</a>
画像にアクセスするには
<img src="<?php echo base_url();?>images/images.PNG”>
CSSにアクセスするには
<link rel="stylesheet" type="text/css" href="<?php echo base_url();?>assets/css/style.css"/>
Autoload.phpからbase_url
ロードURLヘルパーを使用するには
_config.php
_でbase_url()
を次のように設定します。
_$config['base_url'] = 'http://localhost/projectname/';
_
ビューで画像をロードします、
_<img src="<?php echo base_url();?>images/images.PNG”>
_
これを置くだけで、プロジェクトの自動的に正しいパスが取得され、ベースURLが設定されます
$site_url = ((isset($_SERVER['HTTPS']) && strtolower($_SERVER['HTTPS']) !== 'off') || (isset($_SERVER['HTTP_X_FORWARDED_PROTO']) && $_SERVER['HTTP_X_FORWARDED_PROTO'] == 'https')) ? 'https' : 'http';
$site_url .= '://' . (isset($_SERVER['HTTP_Host']) ? $_SERVER['HTTP_Host'] : '');
$site_url .= str_replace(basename($_SERVER['SCRIPT_NAME']), '', $_SERVER['SCRIPT_NAME']);
$config['base_url'] = $site_url;