最近專案有個需求,客戶想要網址是他們的,但主機不放在他們那邊,這方式要用所謂的反向代理,這時網址的使用要全改用對方的網址才能正常執行,依我5.8.35的版本看了下.env及app.php的設定,更動了APP_URL及ASSET_URL的設定,本來預期是可以用的,卻發現使用route來取得url的都沒有使用APP_URL的設定,查半天,看起來不知是哪個版本開始,url就只使用在command執行,找半天找到這討論串:route() helper function does not acknowledge app.url,裡頭提到可以使用Url::forceRoot('https://www.google.com/'),但不知道要放哪,後來放到web.app中,就可以用了。真是太好了!!!
----更新----
另外也可以如tadeubarbosa/RouteServiceProvider.php所示,將app/Providers/RouteServiceProvider的boot改寫,加入foreRootUrl的設定,也是可以達到相同的需求
參考網址:
route() helper function does not acknowledge app.url
tadeubarbosa/RouteServiceProvider.php