【发布时间】:2016-11-19 15:50:47
【问题描述】:
出于 SEO 的原因,我在 Laravel 项目中使用 slugs。 URL 是这样构建的:https://website.com/page/{id}/{slug}。我想让我的页面只能用 id 访问,并自己匹配 slug。所以如果用户输入website.com/1,他会被重定向到website.com/1/slug。
所以我在 pages 控制器中写了这个方法:
public function addSlug(Page $page)
{
return redirect('/page/' . $page->id . '/' . $page->slug);
}
在我的路线文件中:
Route::get('/page/{page}', 'PagesController@addSlug');
唯一的问题是我的蛞蝓是希伯来语单词,所以例如我没有得到website.com/1/שער-7,而是得到website.com/1/שער-7
有没有办法克服这个问题?
(注:数据库和文件编码为UTF-8)
(注2:我可以通过website.com/1/hebrew-slug访问该页面。我认为问题出在重定向方法上)。
【问题讨论】:
-
这不是浏览器特有的问题吗?我对此进行了测试(不是用希伯来语,而是用带有重音符号的字母,比如
čš,效果很好。 -
它发生在所有浏览器上...
标签: php laravel laravel-5 laravel-5.3