2016-11-19 67 views
2

我用子弹在我的Laravel项目SEO的原因。该URL构建如下:https://website.com/page/{id}/{slug}。我想让我的页面只用id来访问,并且自己匹配slu slu。所以如果用户输入website.com/1,他将被重定向到website.com/1/slugURL编码与Laravel和希伯来语

所以我写在页面控制器这种方法:

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

在我的路线文件:

Route::get('/page/{page}', '[email protected]'); 

唯一的问题是,我的蛞蝓是希伯来文的话,那么不但得不到website.com/1/שער-7例如我得到website.com/1/שער-7

有没有办法解决这个?

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

(注2:我可以通过website.com/1/hebrew-slug访问的页面,我认为这个问题是重定向方法)。

+0

这不是浏览器的具体问题吗?我测试了这个(不与希伯来文,但与音符的字母,如'čš',以及它工作得很好。 – Kyslik

+0

它的发生在所有浏览器... – Daniel

回答

1

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

+0

我可以通过'website.com/1 /希伯来语slug'访问页面我认为这个问题是重定向方法。 – Daniel

+1

@Daniel等待其他的答案,也许有人会告诉你一个更好的办法。但是我自己从来没有发现它,所以我写了包我的项目。) –