Php 将尾部斜杠附加到Laravel 4中的url

Php 将尾部斜杠附加到Laravel 4中的url,php,laravel,laravel-4,Php,Laravel,Laravel 4,简单的问题,但我找不到任何有效的答案: 如何将尾部斜杠附加到Laravel4中的url?编辑:正如timgws所提到的,此解决方案在Laravel4.1中不再有效+ 如果在bootstrap/start.php中注释掉第16行 它不应该再重定向到没有斜杠的URL 然后可以重做布线以显示尾部斜线,如: Route::get('login/', function() { // etc 如果您使用的是Laravel4.0(not4.1),那么应该在bootstrap/start.php()中注释掉

简单的问题,但我找不到任何有效的答案:


如何将尾部斜杠附加到Laravel4中的url?

编辑:正如timgws所提到的,此解决方案在Laravel4.1中不再有效+

如果在bootstrap/start.php中注释掉第16行

它不应该再重定向到没有斜杠的URL

然后可以重做布线以显示尾部斜线,如:

Route::get('login/', function() { // etc

如果您使用的是Laravel4.0(not4.1),那么应该在bootstrap/start.php()中注释掉第16行

Laravel 4.1已删除
RedirectIftRailingFlash
,因为它现在可以在
.htaccess
文件中进行控制(一直都应该如此!)

您还可能希望更改
vendor/laravel/framework/src/illumb/Routing/UrlGenerator.php
的末尾加一个斜杠

public function to($path, $parameters = array(), $secure = null) {
// ...
     return trim($root.'/'.trim($path.'/'.$tail, '/'), '/') . '/';
}

更改此代码后,模板和使用URL生成器的代码(例如
URL::to()
)现在将生成URL,URL末尾带有一个尾随斜杠,这将在模板中为您节省一个额外字符

何时:在您的路由中,或者当您生成URL时?我的路由定义为不带/在结尾,因为Laravel总是重定向到不带URL的URL,所以路由不会被命中。实际上,我的一条路线只需要一个拖尾斜杠,但这意味着每次文件更新时我们都必须更改它。那么,请向Laravel提交一份错误报告。Laravel中的代码有很多部分都假设永远不会有尾随斜杠。我最终创建了四个类,它们继承自
illumb\Foundation\Application
illumb\Http\Request
illumb\Routing\RoutingServiceProvider
,和
分别照亮\Routing\UrlGenerator
。它们在不同的非全局命名空间中具有相同的名称。我覆盖了
illumb\Foundation\Application::requestClass
illumb\Foundation\Application::registerRoutingProvider
illumb\Http\Request::url
illumb\RoutingServiceProvider::registerUrlGenerator
,以及
illumb\Routing\UrlGenerator::to
。我还修改了“.htaccess”文件中的重写。@TylerCrompton,您是否有可能在GitHub上为世界其他地方共享您的代码,并将其作为答案发布?
//$app->redirectIfTrailingSlash();
public function to($path, $parameters = array(), $secure = null) {
// ...
     return trim($root.'/'.trim($path.'/'.$tail, '/'), '/') . '/';
}