使用yiihelpersUrl生成。URL提供的方法大都是静态方法,不需要实例化。 1、base方法 Url::base(); 生成当前网络的基础Url地址。默认为相对路径 var_dump(Url::base("http")); // 返回http://www.yii2.com 参数为协议:httphttpstp 2、canonical方法: 返回友好转码格式 如:访问:http://www.yii2.com/index.php?r=day2/url 返回:string(42) "http://www.yii2.com/index.php?r=day2%2Furl" 3、to()方法 var_dump(Url::to(["students/add"])); // 通过传入参数 生成网址 访问结果:string(27) "/index.php?r=students%2Fadd" var_dump(Url::to(["students/edit","id"=>1,"name"=>"zhangsan"])); string(47) "/index.php?r=students%2Fedit&id=1&name=zhangsan" 注意:第二个参数:true 如果加上的话会显示全路径,否则只显示相对路径 <img src="<!--?=-->"><!--?=--> // /images/tes.jpg <img src="<!--?=-->"><!--?=--> // http://www.yii2.com/images/tes.jpg URL优化方案 需求: 将http://www.yii2.com?index.php?r=site/index 优化成:http://www.yii2.com/site/index.html 在Yii2中配置 "urlManager" => [ "class"=>"yiiwebUrlManager" , // 指定实现类 "enablePrettyUrl" => true, "showScriptName" => false, //"suffix"=>".html", // 伪静态后缀 "rules" => [ // 自定义路由规则 "zhangsan"=>"students/add" ], ], 然后配置文件 .htaccess文件 <ifmodule mod_rewrite.c=""></ifmodule> RewriteEngine on RewriteCond %{REQUEST_FILENAME} !-d RewriteCond %{REQUEST_FILENAME} !-f RewriteRule ^(.*)$ index.php?s=/$1 [QSA,PT,L]