2014-02-17 70 views
1

如您所知,Laravel4省略了所有URLS的尾部斜線。 我已經Laravel4 X AngularJS SPA(單頁應用程序),並簡單地我目前的網址是這樣的:Laravel X AngularJS - 前綴/結尾斜槓

http://localhost/en#/nglink 

我想達成什麼是使鏈接看起來是這樣的:

http://localhost/en/#/nglink 

因此,您可以看到,我需要在AngularJS鏈接(#/ nglink)之前使用前綴斜槓,或者在Laravel鏈接(http:// localhost/en)之後使用尾部斜槓。無論如何,使用AngularJS來實現這一點?如果沒有編輯Laravel的核心文件如何實現它?

回答

0

那麼,雖然可以通過AngularJS或Laravel或http服務器端實現,但通過Laravel本身可以更容易地完成,因爲我們可以在不觸及核心文件的情況下重寫所需的類(URLGenerator),並且同時保持代碼(服務器不可知),所以它可以與apache/nginx或任何其他服務器結尾的斜線(這就是爲什麼我寧願不使用htaccess)。

更新#1

Laravel 5/AppServiceProvider ::寄存器()

$this->app->bindShared('url', function ($app) { 
     $routes = $app['router']->getRoutes(); 

     $request = $app->rebinding('request', function ($app, $request) { 
      $app['url']->setRequest($request); 
     }); 

     // This is your custom overridden "UrlGenerator" class 
     $urlGenerator = new UrlGenerator($routes, $request); 

     return $urlGenerator; 
    }); 
+0

你能提供重寫URLGenerator的例子?我知道這並不影響任何東西,但由於某種原因,它也困擾我。 –

+0

查看代碼示例@RyanH的更新#1 – Omranic