5

I have the directory structure like this in code igniter:

 Appsite
    -website
       -application
        -images

When I accessing the image in index.php I used: <img src="http://localhost/Appsite/website/images/images.PNG"

And the href is: <li class=""><a href="http://localhos/tAppsite/website/index.php/home/">Home</a></li>

I think it is not a good practice to include the http://localhost when accessing the images or libraries in code igniter. So I tried to change the $config['base_url'] in config.php to $config['base_url'] = "http://".$_SERVER["HTTP_HOST"]."/";

And now I update my image source and other library source I remove the localhost and the name of my directory folder:

<img src="images/images.PNG”> <li class=""><a href= <?php echo base_url;?> /website/index.php/home/">Home</a></li>

But I get errors. it says object not found. Can some help me?

3 Answers 3

10

In Config.php

$config['base_url'] = 'http://localhost/Appsite/website/';
$config['index_page'] = '';

# If online site
# $config['base_url'] = 'http://stackoverflow.com/';

In .htaccess (outside application folder) - To remove index.php in URL

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]

To accessing URL

<a href="<?php echo base_url();?>contollerName/methodName"> click here</a>

To access image

<img src="<?php echo base_url();?>images/images.PNG”>

To access CSS

<link rel="stylesheet" type="text/css" href="<?php echo base_url();?>assets/css/style.css"/>

To use base_url load URL helper from autoload.php

5
  • What do you mean by To use base_url load URL helper from autoload.php?
    – qazzu
    Commented Jun 30, 2016 at 11:57
  • if you use base_url its gives you error. So go to config/autoload.php and load URL in helper Commented Jun 30, 2016 at 11:58
  • Do you mean like this $autoload['helper'] = array('form','url'); ?
    – qazzu
    Commented Jun 30, 2016 at 12:01
  • @AbdullaNilam Would appreciate an answer on a similar question Commented Oct 8, 2016 at 12:33
  • $config['base_url'] = 'http://localhost/Appsite/website/'; Note that "Appsite" like directory and sub directories are CASE SENSITIVE. Commented Sep 20, 2017 at 6:29
1

In your config.php set the base_url() as,

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

In your view load the image as,

<img src="<?php echo base_url();?>images/images.PNG”>
0

Just put this it will take the automatically correct path of the project and set base 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;

Not the answer you're looking for? Browse other questions tagged or ask your own question.