美文网首页
URL和路由 - URL

URL和路由 - URL

作者: FKTX | 来源:发表于2017-12-23 15:01 被阅读0次

像这样域名太长,搜索引擎爬虫的时候就不会收录的太好。

这个时候,就需要定义路由了。

定义路由,就是假设按照上面的网址,那么访问这样网站的时候,也是可以正确访问。那么就是定义路由成功了。定义路由的规则也可以自己定

在thinkphp5框架的application文件夹中,有route.php文件,这个文件中就是定义路由规则的。

下面这张图,是域名和定义路由规则的对应关系

路由解释:不看域名部分,url中以hello开始的,有参数name的,都会去访问index模块下的index控制器下的hello方法。条件就是是get请求,后缀为html

上面的[:name]加方括号的原因是表示这个参数可以有,也可以没有,是可选的。如果将方括号去掉,那么用户提交url的时候,就必须要有这个参数,否则就会报错。

只有像这样,添加参数之后,才能访问成功

如果不想在route.php中配路由的话,也可以这么配

如果要传入多个参数,就发现路径又很长了

因此,为了更短的路径,就需要再次去config.php中进行配置

配置好了之后,再去url栏输入地址尝试

可以看到,参数和参数值都可以一一对应了。那么这样有什么好处呢?

这样就可以欺骗搜索引擎的抓取了。让搜索引擎误认为这就是访问的是hello文件夹下的aaa文件夹下的那个很长名字的文件。而实际上,这里却是用户提交的多个参数、参数值。

再看一个例子:

这里例子可以看到:year和:month是必选的参数,如果给他们直接加上[]方括号,那么会报错。加了方括号,代表他们是可选的,既然是可选的,在原来的控制器的today方法中就需要给形参year和month赋予默认值,这样就不会报错了。

至于为什么要生成url地址,暂时还不清楚,接着往下学(貌似是为了得到一个路径,这个路径有用)

首先,要想使用生成url的函数,那么必须得先引入一些类文件,否则就会出现如下报错

引入类文件之后,就可以正常使用相应的方法了

如下图,框出来的部分所代表的含义是使用Url::build方法,将a=1&b=2这个参数传到当前控制器中的url2方法中。若没有url2,那么默认传到当前方法中

但是,在导入url类文件之后,建议不用上面的那种框出来的使用方法,建议直接使用url()方法,更加简洁省事,效果还一样。

相关文章

  • URL和路由 - URL

    像这样域名太长,搜索引擎爬虫的时候就不会收录的太好。 这个时候,就需要定义路由了。 定义路由,就是假设按照上面的网...

  • Vue-路由

    路由可以分为前端路由和后端路由 后端路由: 概念:根据不同的用户url请求,返回不同的内容 本质:URL请求地址和...

  • django框架进阶

    @[toc] Django的URL路由机制 Django的URL路由配置 路由是关联URL及其处理函数关系的过程 ...

  • mini web框架-4-路由

    mini web框架-4-路由(url) URL分为静态URL、动态URL、伪静态URL 静态URL 静态URL类...

  • URL和路由-路由

    昨天有个疑惑,但是这张图成功的帮我解惑。 用户访问网站的时候,都是从public中的index.php入口。然后利...

  • ThinkPHP笔记-路由

    路由 利用路由功能,可以让你的URL地址更加简洁和优雅。ThinkPHP支持对模块的URL地址进行路由操作(路由功...

  • 组件化

    一、路由模式 路由模式register:先注册一个url,和一个registerBlock.open:通过url,...

  • vue路由

    前端路由和后端路由,前端渲染和后端渲染 1. 后端路由:对于普通的网站,所有的超链接都是URL地址,所有的URL地...

  • Django框架路由系统

    路由系统(controller) 路由系统(URL配置)它就是URL与要为该URL调用的视图函数之间的映射表,也就...

  • day05-视图函数

    1)定义视图函数,HttpResponse 2)子路由 url的配置,建立url地址和视图的对应关系 3)主路由配...

网友评论

      本文标题:URL和路由 - URL

      本文链接:https://www.haomeiwen.com/subject/cuzxgxtx.html