📜  如何在 yii2 中启用漂亮的 url - PHP (1)

📅  最后修改于: 2023-12-03 15:24:26.437000             🧑  作者: Mango

如何在 Yii2 中启用漂亮的 URL

在 Web 开发中,漂亮的 URL 对于用户体验和新手友好性至关重要。Yii2 框架是一个非常强大的 PHP 框架,它允许您轻松启用和设置漂亮的 URL 系统。

Step 1 - 配置 URL 规则

要启用漂亮的 URL,您需要在配置文件中定义 URL 规则。这可以通过在 urlManager 组件中添加规则来完成。例如,以下规则可以处理 http://example.com/posts/123 的请求,并将其重定向到 http://example.com/post/view?id=123

'urlManager' => [
    'enablePrettyUrl' => true,
    'showScriptName' => false,
    'rules' => [
        'posts/<id:\d+>' => 'post/view',
    ],
],

代码说明:

  • enablePrettyUrl 属性设置为 true,表示启用漂亮的 URL。
  • showScriptName 属性设置为 false,表示不显示入口脚本(如 index.php)。
  • rules 属性是 URL 规则列表,每个规则都是一个键值对,表示 URL 路径(键)和处理程序(值)。

在上面的例子中,规则是 posts/<id:\d+>,其中 <id:\d+> 是一个正则表达式,用于捕获数字 id。这意味着例如 http://example.com/post/123 可以匹配到这个规则,而 http://example.com/posts/hello 将无法匹配。

规则的值是 post/view,这表示处理程序是 PostControllerview 方法。当 URL 匹配规则时,Yii 将调用此方法来处理请求。

Step 2 - 生成 URL

要生成漂亮的 URL,使用 yii\helpers\Url 类加上指定的路由和参数即可。例如:

use yii\helpers\Url;

echo Url::to(['post/view', 'id' => 123]);

这将生成类似于 /posts/123 的 URL,其中 post/view 是路由和参数 ['id' => 123] 将用于构建 URL 中的查询字符串。

总结

在做一个 Web 应用时,拥有漂亮的 URL 风格是必不可少的。Yii2 可以让我们轻松地启用漂亮的 URL,并通过硬编码或使用 Url::to() 来轻松生成新的 URL 。

以上是 Yii2 中启用漂亮的 URL 的完整教程。每个步骤都详细介绍了如何实现,以及相关代码片段。 您可以使用 Yii2 中的 URL 系统来构建出最佳的用户体验,为您的网站带来更多流量和更好的排名。