Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

How to get domain root url in Laravel 4?

I'm ready to scream how hard can this be? I've been trying for too long. If I have http://www.example.com/more/pages/page.php or similar I want to be able to get www.example.com.

Thats all. So I can use it as I please. This will of course change if on production or development so I want to ascertain it dynamically.

Request::root() 

returns http://www.example.com/more/pages/page.php

URL::to('/') 

returns http://www.example.com/more/pages/page.php

How do I get this? Why am I having so much trouble to do this??

like image 627
Shane Avatar asked Jul 28 '14 13:07

Shane


People also ask

What is url() in laravel?

url() Generates an absolute URL to the given path (code)Preserves any URL query string. {{ url('search') }} // http://www.example.com/search {{ url('search', ['qevo', 'laravel']) }} // http://www.example.com/search/qevo/laravel.

How can I buy domain in laravel?

You can get domain name in laravel using getHost() and getHttpHost() method on request() helper.


1 Answers

UPDATE (2017-07-12)

A better solution is actually to use Request::getHost()

Previous answer:

I just checked and Request::root(); does return http://www.example.com in my case, no matter which route I'm on. You can then do the following to strip off the http:// part:

if (starts_with(Request::root(), 'http://')) {     $domain = substr (Request::root(), 7); // $domain is now 'www.example.com' } 

You may want to double check or post more code (routes.php, controller code, ...) if the problem persists.

Another solution is to simply use $_SERVER['SERVER_NAME'].

like image 113
lowerends Avatar answered Sep 30 '22 22:09

lowerends