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.

We've moved the forum!

Please use forum.silverstripe.org for any new questions (announcement).
The forum archive will stick around, but will be read only.

You can also use our Slack channel or StackOverflow to ask for help.
Check out our community overview for more options to contribute.

General Questions /

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

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

How to remove protocol and host in template


Go to End


3 Posts   943 Views

Avatar
Tim Snadden

Community Member, 32 Posts

21 June 2012 at 1:35pm

Edited: 21/06/2012 1:35pm

Does anyone know how to prevent silverstripe (2.4) outputting the protocol and host when linking to internal assets etc?

In the markup I am getting:

<script type="text/javascript" src="http://my.exampledomain.com/mysite/app/router.js?m=1340064453"></script>

and I want just:

<script type="text/javascript" src="/mysite/app/router.js?m=1340064453"></script>

The reason is that requests are going through a proxy so requests to https://localhost:8000/ are being proxied to http://my.exampledomain.com/ so I don't want http://my.exampledomain.com/ in the markup.

I've had a look around in Director and tried a few things including:

Director::setBaseURL('/');

Any ideas?

Avatar
Willr

Forum Moderator, 5523 Posts

21 June 2012 at 10:21pm

Taking a look at the code it looks like this is hard coded to being absolute. In the Requirements_Backend::path_for_file() class you would need to replace the prefixed value. Patches welcome to make this more accessible.

Avatar
Tim Snadden

Community Member, 32 Posts

22 June 2012 at 9:54am

Thanks for looking at it. I ended up modifying the path_for_file function in core/Requirements.php as follows:

// $prefix = Director::absoluteBaseURL();
$prefix = Director::baseURL();

I would rather not have modified the framework and I guess I was looking for a javascripty way of overriding the function but it doesn't seem like PHP works this way from what I can see.