$this->baseurl; is a shortcut to be used from inside a template, instead of calling the
JURI:base(); method, of the JURI class. It is part of the core and you can find it at
/libraries/joomla/environment/uri.php (~line 218).
If you look at the method, you will see that it checks in the configuration file to see if the $live_url variable is defined. If yes it will return this url, otherwise it will go through a number of other checks and return your actual base URI.
Most probably you have the live_url variable defined in your configuration.php that includes the .index.php at the end. Check there...
Another possibility is that your current template /template system has somewhere defined the $this->baseurl property. You can easily override the
$this->baseurl inside your template by re-defining it again at the top of the index.php file of your template, like:
$this->baseurl = JURI::base();
- I mentioned where you can find the method, but this does not mean that you should go there and do any modifications to the core. That was only for informational purposes.
Update 2 - for future references
To complete the information given in this post, the
JURI::base($pathonly boolean) takes one argument, the
$pathonly which is a boolean data type -
false is the default.
$pathonly = true, it will return only the path to the site.
<?php echo JURI::base(); ?> Would echo something like: http:://localhost/joomla25/
<?php echo JURI::base(true); ?> Would echo: /joomla25
Note that when $pathonly = true, the trailing slash at the end of the URI path is ommited.