fsasvari/laravel-trailing-slash

为Laravel框架添加带有尾部斜杠的重定向功能的包。

v5.0.0 2023-03-20 08:43 UTC

README

为Laravel框架的10.x、9.x、8.x、7.x、6.x和5.x版本添加URL格式化和尾部斜杠重定向功能。

Build For Laravel Latest Stable Version Latest Unstable Version Total Downloads License

兼容性图表

安装

步骤1:安装包

要开始使用Laravel Trailing Slash,使用Composer命令将包添加到您的composer.json项目的依赖项中

composer require fsasvari/laravel-trailing-slash

或者直接通过将以下行复制到composer.json中添加

"fsasvari/laravel-trailing-slash": "5.*"

步骤2:服务提供者

安装Laravel Trailing Slash库后,在config/app.php配置文件中注册LaravelTrailingSlash\RoutingServiceProvider

'providers' => [
    // Application Service Providers...
    // ...

    // Other Service Providers...
    LaravelTrailingSlash\RoutingServiceProvider::class,
    // ...
],

步骤3:.htaccess

如果您正在使用Apache,将以下重定向代码从public/.htaccess复制到您自己的项目中

<IfModule mod_rewrite.c>
    # Redirect To Trailing Slashes If Not A Folder Or A File...
    RewriteCond %{REQUEST_FILENAME} !-d
    RewriteCond %{REQUEST_FILENAME} !-f
    RewriteCond %{REQUEST_URI} !(/$|\.)
    RewriteRule (.*) %{REQUEST_URI}/ [R=301,L]
</IfModule>

步骤4:路由

在routes/web.php中,您现在必须使用带有尾部斜杠的路由

Route::get('/', function () {
    return view('welcome');
});

Route::get('about/', function () {
    return view('about');
});

Route::get('contact/', function () {
    return view('contact');
});

用法

每次您使用Laravel的重定向函数时,URL末尾都将应用尾部斜杠("/")。

return redirect('about/');

return back()->withInput();

return redirect()->route('text', ['id' => 1]);

return redirect()->action('IndexController@about');

变更日志

请参阅变更日志以获取更多信息。

注意

存在一个覆盖Laravel PaginatorLengthAwarePaginator类的问题。因此,每次您在模型、查询构建器等上使用paginate()方法时,您必须设置分页链接的当前路径。示例

$texts = Text::where('is_active', 1)->paginate();
$texts->setPath(URL::current());

$texts->links();

许可证

MIT许可证。请参阅LICENSE文件以获取更多信息。

作者

Frano Šašvari

电子邮件: sasvari.frano@gmail.com