Skip to main content

This site requires you to update your browser. Your browsing experience maybe affected by not having the most up to date version.

General Questions

General questions about getting started with SilverStripe that don't fit in any of the categories above.

Moderators: martimiz, Sean, biapar, Willr, Ingo, swaiba, simon_w

$BaseHref returns domain.com/index.php?


Reply

5 Posts   2513 Views

Avatar
Double-A-Ron

14 April 2011 at 4:35pm Community Member, 604 Posts

This is only happening on our live linux server, and only with version 2.4.4 and 2.4.5.

When $BaseHref is used in a template, the url that is generated is "http://domain.com/index.php". Therefore take the following:

<a href="{$BaseHref}"><img src="{$BaseHref}/themes/challenger/images/Logo.png" alt="Logo Image" /></a>

is output as follows

<a href="http://ats.ecomcorp.co.nz/index.php/"><img src="http://ats.ecomcorp.co.nz/index.php//themes/challenger/images/Logo.png" alt="Logo Image" /></a>

Any Ideas? This is all fine on the Windows/WAMP box.

Avatar
swaiba

14 April 2011 at 7:04pm Forum Moderator, 1796 Posts

mod_rewrite?

Avatar
Ben_W

28 April 2011 at 12:39pm Community Member, 80 Posts

This is strange, I have just built a site under ss2.4.5, and $BaseHref works fine.

<li><a href="{$BaseHref}">Home</a></li>

For images or css under your theme, you may try $ThemeDir (from ViewableData.php)

<img src="/$ThemeDir/images/header.gif" width="600" height="93" border="0" alt="Header Image" />

Avatar
leafchild

7 October 2011 at 6:04pm Community Member, 41 Posts

I have a same issue.

If I enter URL "mydomain.com/index.php"

$BaseHref generate "mydomain.com/index.php" and this is messing up my other link and that results taking a user to 404 page.

Avatar
leafchild

7 October 2011 at 6:17pm Community Member, 41 Posts

I just found the solution here:
http://www.silverstripe.org/general-questions/show/14405?start=8

============================================================
Rather than deleting files or hacking core code - I added this to _config.php:

<code>
Director::setBaseURL('/');
</code>
============================================================

Withthis code, even a user access to mydomain.com/index.php, no longer mess up other link having extra "index.php"