【学习笔记】Yii2.0 Basic代码中路由链接被转义的处理

按照惯例,说下运行环境和各版本编号
OS:Windows10
Apache:2.4
MySQL:5.7.15
PHP:7.0.11

问题描述:按照官网的提示,下载了basic版本的代码,配置了虚拟域名,打开浏览器可以访问了(具体过程略)。

但是,在点击链接地址时会发现,链接地址被转义了,“/”变成了“%2F”。

查找代码,一步一步找。

找到最后yii-v2.0.9-basic\vendor\yiisoft\yii2\web\UrlManager.php 第371行,发现url链接被urlencode转义了,这里我把它拿掉了。再访问就OK了。

最后贴上代码查找路径:

yii-v2.0.9-basic\views\layouts\main.php
yii-v2.0.9-basic\vendor\yiisoft\yii2-bootstrap\Nav.php (200行 Html::a()方法)
yii-v2.0.9-basic\vendor\yiisoft\yii2-bootstrap\Html.php
yii-v2.0.9-basic\vendor\yiisoft\yii2-bootstrap\BaseHtml.php
yii-v2.0.9-basic\vendor\yiisoft\yii2\helpers\Html.php
yii-v2.0.9-basic\vendor\yiisoft\yii2\helpers\BaseHtml.php
yii-v2.0.9-basic\vendor\yiisoft\yii2\helpers\Url.php
yii-v2.0.9-basic\vendor\yiisoft\yii2\helpers\BaseUrl.php(102行 static::getUrlManager()->createUrl)
yii-v2.0.9-basic\vendor\yiisoft\yii2\web\UrlManager.php(371行 urlencode方法)

PS:1.原创内容,转载请附上本文链接:http://www.cnblogs.com/phpCHAIN/p/5891908.html

2.操作过程中出现其它问题的请@我

时间: 2024-11-10 01:31:16

【学习笔记】Yii2.0 Basic代码中路由链接被转义的处理的相关文章

2.2 Yii2.0 Basic代码中路由链接被转义的处理

按照惯例,说下运行环境和各版本编号 OS:Windows10 Apache:2.4 MySQL:5.7.15 PHP:7.0.11 一.问题描述 按照官网的提示,下载了basic版本的代码,配置了虚拟域名,打开浏览器可以访问了(具体过程略). 但是,在点击链接地址时会发现,链接地址被转义了,“/”变成了“%2F”. 二.问题解决 查找代码,一步一步找. 找到最后yii-v2.0.9-basic\vendor\yiisoft\yii2\web\UrlManager.php 第371行,发现url链

WPF学习笔记 - 数据绑定(在代码中)

在程序代码里,有两种设置绑定的方法,一种是调用FrameworkElement或FrameContentElement对象的SetBinding实例方法. 例如: Public MainWindow() { InitializeCompnet(); Binding binding = new Binding(); //设置源对象 binding.Source = treeview; //设置源属性 binding.Path = new PropertyPath("SelectedItem.Hea

[moka学习笔记]yii2.0数据库查询的多种方法(未完待整理)

方法一:(使用model) $modelCommunityMail = CommunityMail::find()->where(['com_id'=>$id])->all(); 方法二:(直接拼写sql语句) $sql = "select * from `usho_community_mail` where date_format(`created_at`,'%Y%m') = date_format(curdate() ,'%Y%m') AND `com_id`=$id AN

sqlite学习笔记9:C语言中使用sqlite之插入数据

前面创建了一张表,现在给他插入一些数据,插入数据跟创建表差不多,仅仅是SQL语言不一样而已,完整代码如下: #include <stdio.h> #include <stdlib.h> #include "sqlite/sqlite3.h" #define DB_NANE "sqlite/test.db" sqlite3 *db = NULL; char* sql = NULL; char *zErrMsg = NULL; int ret =

sqlite学习笔记11:C语言中使用sqlite之删除记录

最后一节,这里记录下如何删除数据. 前面所有的代码都继承在这里了,在Ubuntu14.04和Mac10.9上亲测通过. #include <stdio.h> #include <stdlib.h> #include "sqlite/sqlite3.h" #define DB_NANE "sqlite/test.db" sqlite3 *db = NULL; char* sql = NULL; char *zErrMsg = NULL; con

六、Android学习笔记_JNI_c调用java代码

1.编写native方法(java2c)和非native方法(c2java): package com.example.provider; public class CallbackJava { // C调用java空方法 public void helloFromJava() { System.out.println("hello from java"); } // C调用java中的带两个int参数的方法 public int Add(int x, int y) { int res

sqlite学习笔记7:C/C++中使用sqlite之打开数据库

数据库的基本内容前面都已经说得差不多了,接下看看怎样在C语言中使用sqlite. 一 接口 sqlite3_open(const char *filename, sqlite3 **ppDb) 打开数据库,如果数据库不存在则新建一个数据库,并打开 sqlite3_close(sqlite3*) 关闭数据库,如果关闭之前还存在没有执行完的语句,将会返回SQLITE_BUSY 二 实例 1 目录结构 Projects{ main.c// 代码所在文件 sqlite{// 官网下载下来的sqlite压

Android学习笔记_JNI_c调用java代码

1.编写native方法(java2c)和非native方法(c2java): package com.example.provider; public class CallbackJava { // C调用java空方法 public void helloFromJava() { System.out.println("hello from java"); } // C调用java中的带两个int参数的方法 public int Add(int x, int y) { int res

cocos2d-html5学习笔记(六)--alpha2中cc.Sequence.create中的bug

cocos2d-html5学习笔记(六)--alpha2中cc.Sequence.create中的bug http://blog.csdn.net/allenice1/article/details/7747425 分类: javascript cocos2d-html52012-07-14 20:08 3005人阅读 评论(0) 收藏 举报 actionfunctionnullobject 今天学习了action,可是练习cc.Sequence.create的时候.发现了问题. cc.Sequ