使用Laravel和希伯来语进行URL编码

时间:2016-11-19 15:50:48

标签: php laravel laravel-5 laravel-5.3

我出于搜索引擎优化的原因,在我的Laravel项目中使用了slu .. URL构建如下:https://website.com/page/{id}/{slug}。我想允许仅使用id访问我的页面,并自己匹配slug。因此,如果用户输入website.com/1,他将被重定向到website.com/1/slug

所以我在页面控制器中写了这个方法:

public function addSlug(Page $page)
{
    return redirect('/page/' . $page->id . '/' . $page->slug);
}

在我的路线文件中:

Route::get('/page/{page}', 'PagesController@addSlug');

唯一的问题是我的slu is是希伯来语单词,所以不是以website.com/1/שער-7为例,而是website.com/1/שער-7

有没有办法克服这个问题?

(注意:数据库和文件编码是UTF-8)

(注2:我可以通过website.com/1/hebrew-slug访问该页面。我认为问题在于重定向方法。)

1 个答案:

答案 0 :(得分:1)

我遇到了同样的问题,所有流行的slugs包都不适用于UTF-8网址,所以我写了my own package。检查出来,如果您不需要将UTF-8字符转换为ASCII,则可以按原样使用它。或者你可以分叉进行一些修改。