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

标签 php laravel laravel-5 laravel-5.3

出于 SEO 的原因,我在我的 Laravel 项目中使用了 slug。 URL 是这样构建的:https://website.com/page/{id}/{slug}。我想让我的页面只能通过 id 访问,并自己匹配 slug。因此,如果用户输入 website.com/1,他将被重定向到 website.com/1/slug

所以我在页面 Controller 中写了这个方法:

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

在我的路线文件中:

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

唯一的问题是我的 slug 是希伯来语单词,所以我得到的不是 website.com/1/שע-7,而是 website.com/1/×©× ¢×¨-7

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

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

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

最佳答案

我遇到了同样的问题,所有流行的 slugs 包都不能使用 UTF-8 URL,所以我写了 my own package .检查一下,如果不需要将 UTF-8 字符音译为 ASCII,则可以按原样使用它。或者您可以将其 fork 以进行一些修改。

关于php - 使用 Laravel 和希伯来语进行 URL 编码,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40694838/

相关文章:

php - 显示以 utf8 数据库字段结束的 htmlspecials 字符

php - 使用keyby集合方法检索eloquent api资源

javascript - 我该怎么做才能从数据库的表中打印该特定选项的所有数据?

laravel - 如何在 Laravel 5.6 中禁用注册新用户

php - 将 url 参数传递到搜索表单

php - 使用 Divs 动态创建偏移量

php - MySQL/PHP - 显示表中除一行之外的所有行

php - 如何使用 Twig 的 Intl 扩展提高百分比格式的小数精度?

javascript - 如何让考试计时器在单击下一页后继续

javascript - Laravel 5 中的文本字段自动填充