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

时间:2013-11-22 21:32:32

标签: php laravel laravel-4

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

如何在Laravel 4中将尾部斜杠附加到url?

2 个答案:

答案 0 :(得分:2)

编辑:正如timgws所说,这个解决方案不再适用于Laravel 4.1 +

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

https://github.com/laravel/laravel/blob/master/bootstrap/start.php#L16

//$app->redirectIfTrailingSlash();

不应该在没有斜杠的情况下重定向到URL。

然后你可以重做路线以显示尾随斜线:

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

答案 1 :(得分:0)

如果您使用的是Laravel 4.0(不是 4.1),则应在bootstrap / start.php(https://github.com/laravel/laravel/blob/master/bootstrap/start.php#L16)中注释掉第16行

//$app->redirectIfTrailingSlash();

Laravel 4.1删除了redirectIfTrailingSlash,因为它现在可以在.htaccess文件中控制(因为它本来应该是!)。

您可能还想更改vendor/laravel/framework/src/Illuminate/Routing/UrlGenerator.php so that generated URLs在其末尾加斜杠。

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

更改此代码后,使用URL生成器的模板和代码(例如URL::to())现在将在URL的末尾生成带有斜杠的URL,这样可以在模板中节省额外的字符! / p>