fsasvari / laravel-trailing-slash
为Laravel框架添加带有尾部斜杠的重定向功能的包。
v5.0.0
2023-03-20 08:43 UTC
Requires
- php: ^8.1
- illuminate/routing: ^10.0
Requires (Dev)
- mockery/mockery: ^1.4.4
- phpunit/phpunit: ^10.0
README
为Laravel框架的10.x、9.x、8.x、7.x、6.x和5.x版本添加URL格式化和尾部斜杠重定向功能。
兼容性图表
安装
步骤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 Paginator
和LengthAwarePaginator
类的问题。因此,每次您在模型、查询构建器等上使用paginate()
方法时,您必须设置分页链接的当前路径。示例
$texts = Text::where('is_active', 1)->paginate(); $texts->setPath(URL::current()); $texts->links();
许可证
MIT许可证。请参阅LICENSE文件以获取更多信息。
作者
Frano Šašvari
电子邮件: sasvari.frano@gmail.com