Definieren Sie den Basis-url für laravel Anwendung
Meine Kunden in der Anwendung ist vorübergehend läuft auf meinem Testserver (my-domain.com
), während auf seinem server (client-domain.com
) legte ich eine .htaccess
Datei umleiten alle Anfragen an meine staging-server. Dies funktioniert gut so weit, außer beim erstellen von URLs mit Laravel Helfer.
Wenn ich rufe {{ action( 'Controller@getIndex' }}
zum Beispiel, Laravel gibt my-domain.com/index
(statt der gewünschten client-domain.com/index
).
Denn jetzt habe ich das Problem gelöst, indem Sie ersetzen diese Aufrufe mit absoluten hartcodierte urls, aber das stört meinen workflow.
So, gibt es eine Möglichkeit zu zwingen, Laravel, um die Verwendung einer bestimmten Basis-url?
- warum willst du das überhaupt, so etwas zu tun?
- Warum gehst du nicht einfach mit URL::route('index')? Wird es auch wieder eine unerwünschte url?
URL::route
ist afaik verwendet für die benannten Routen, aber ich bin nur mit restful-Controller ohne zusätzliche Routen. Dennochaction
undroute
sind beide Mitglied der gleichen Klasse und sind daher am ehesten mit der gleichen Basis-url.- Ich will nicht, aber die Umstände verlangen es; zumindest für jetzt.
Du musst angemeldet sein, um einen Kommentar abzugeben.
Laravel generieren Sie eine url für die aktuellen Domäne ausgeführt wird. Derzeit laravel läuft my-domain.com auch wenn Sie den Aufruf mit client-domain.com.
Das hängt davon ab, wie Sie umleiten natürlich.
Also, Erstens, warum sind Sie der Umleitung der client-Domäne auf Ihrem server.
Wenn es sich um eine permanente Umleitung, dann ist es besser für Sie:
Wenn es nur zum testen/Debuggen (oder was auch immer) und diese Umleitung wird sofort wechseln, wenn Sie in der Produktion der Bühne, Sie müssen nicht, sorgen zu machen:
On a side note, es ist nicht wirklich empfohlen, die gleiche Inhalte mit mehreren urls. Also, haben Sie, um eine 301-Weiterleitung von einer domain auf die andere (scheint zu sein, das aktuelle Verhalten) und verwenden dann nur einen von Ihnen.
Bearbeiten:
und beantworten Sie die Letzte Frage, es gibt keine Möglichkeit, die Basis-url in laravel (zumindest für den Moment). Es scheint ein Problem zu sein auf github über das (hier: https://github.com/laravel/framework/issues/92 ). Vielleicht kann man untersuchen, in diese Richtung, aber ich glaube nicht, dass es implementiert einen Tag da zu sein scheint, dass hacky und Recht ungewöhnlich in jedem normalen web-Anwendung.
action
undasset
Hilfsfunktionen in derindex.php
- Datei.