2016-02-09 12 views
5

Wenn ich secure_url() oder asset() verwende, wird auf die Domäne meiner Website ohne "www", d. H. "Example.com", verwiesen.Laravel: Basis-URL ändern?

Wie kann ich den Link zu "www.example.com" ändern?

+0

Gibt es einen bestimmten Grund für den Wechsel zu www.example.com? –

+0

Ich bevorzuge einfach "www". Ich mache auch mein gesamtes Marketing mit "www" und ich würde es lieber weiter verwenden. – user5893820

+0

Ich habe das nie implementiert, aber ich habe jetzt einfach damit herumgespielt. Wenn Sie die 'URL' in' config/app.php' auf 'www.beispiel.de 'aktualisieren, dann scheint es beim Erzeugen von URLs mit URL-Helfern URLs mit dem Präfix' www' zu erzeugen. Probieren Sie es aus und lassen Sie mich wissen, wie Sie vorankommen. – James

Antwort

0

Laravel verwendet die aktuelle Domäne beim Generieren von secure_url und url(). Sie können jedoch Ihre deflure URL in der app.php im Konfigurationsordner einrichten.

/* 
|-------------------------------------------------------------------------- 
| Application URL 
|-------------------------------------------------------------------------- 
| 
| This URL is used by the console to properly generate URLs when using 
| the Artisan command line tool. You should set this to the root of 
| your application so that it is used when running Artisan tasks. 
| 
*/ 
'url' => 'http://localhost', 
+0

funktioniert nicht –

18

Erste Anwendung URL in der Datei ändern config/app.php (oder der APP_URL Wert Ihrer .env-Datei):

'url' => 'http://www.example.com', 

Dann machen die Verwendung URL-Generator es. In thoses Codezeilen in die Datei app/Anbieter/AppServiceProvider.php im Boot Methode:

\URL::forceRootUrl(\Config::get('app.url'));  
// And this if you wanna handle https URL scheme 
// It's not usefull for http://www.example.com, it's just to make it more independant from the constant value 
if (str_contains(\Config::get('app.url'), 'https://')) { 
    \URL::forceScheme('https'); 
    //use \URL:forceSchema('https') if you use laravel < 5.4 
} 

, dass alle Leute ist.

+1

Laravel verwendet HTTP_HOST aus der Payload der Anfrage, um URLs zu generieren. Das ist eine Lösung, um das zu ändern. –

+0

Sie sind Lebensretter. Vielen Dank! – gradosevic

+1

Beachten Sie, dass es URL ist :: forceScheme nicht forceSchem ** a ** –