正如我在这里多次提到的,我正在使用Laravel重做我的一个旧站点。
我遇到的另一个问题如下:
/user-slug/
用于用户主页,和/user-slug/content-slug.html
为其内容之一我设法重新创建了第二个,但是当我尝试创建到用户路由的链接时,Laravel总是修剪最后一个斜杠,并且我以/user-slug
这样的URL结尾>
[我不想在将旧网站切换到Laravel时丢失任何SEO,所以我想知道是否有可能强制Laravel在一个URL上附加斜杠吗?
到目前为止,我的代码:
app \ Providers \ RouteServiceProvider.php:
public function boot(Router $router) { $router->pattern('user', '[a-zA-Z0-9_-]+'); $router->pattern('content', '[a-zA-Z0-9_-]+'); parent::boot($router); }
app \ Http \ routes.php:
Route::group(['middleware' => ['web']], function () { Route::get('/', [ 'as' => 'index', 'uses' => 'BaseController@index', ]); Route::get('/{user}/', [ 'as' => 'user', 'uses' => 'UserController@show', ]); Route::get('/{user}/{content}.html', [ 'as' => 'content', 'uses' => 'ContentController@show', ]); });
views / home.blade.php:
{!! Html::linkRoute('user', $content['user']['name'], [$content->user->slug]) !!}
如果没有解决方法,我将使用
.htaccess
文件将所有/user-slug/
网址重定向到/user-slug
,但如果可以避免的话,那很酷。
正如我在这里多次提到的,我正在使用Laravel重做我的一个旧站点。我遇到的另一个问题如下:在旧网站上,我主要有两种不同类型的url:/ ...
嗯,我认为通过中间件等似乎有可能。