首页 > 后端开发 > 正文

php框架的路由机制 php如何实现页面路由转发

2023-09-23 16:06:33 | 我爱编程网

今天我爱编程网小编整理了php框架的路由机制 php如何实现页面路由转发相关内容,希望能帮助到大家,一起来看下吧。

php框架的路由机制 php如何实现页面路由转发

php为什么要使用路由器

电脑为什么用路由器才能上网
首先要明白电脑并非一定要使用路由器上网:
1、如果你的网络是运营商给的固定IP。
那就右键网络--属性--本地连接--属性--双击ipv4,
直接填上运营商给你的IP,网关,及DNS,
这样就可以上网了。
2、如果你的网络是运营商给的登陆账号和密码。
那就右键网络--属性--设置新的连接和网络--连接到Internet--宽带(PPPoe),
然后填上运营商给的账号密码就可以上网了。
注意:这种方式,上述的IPV4选项要设置成自动获取。
3、上述2种方式是指你的用网环境是只有1台电脑的时候。
如果你有多台电脑,甚至还有无线设备,
这个时候就要用到路由器了。
甚至电脑多的时候,路由器下面还要增加交换机,
这时候路由器充当的是一个网关的角色,
让多台下连终端通过NAT的方式上网,这才是用路由器的原因。
配置php环境需要路由器吗?
你本机测试要路由器干嘛,,如果是局域网测试当然要路由器或者是集线器之类的组成局域网。。
如果你打算把你的PHP环境影射到外网,那当然需要一个已经能上网的路由,而且可以设置端口影射的路由器。
如果只是本机测试,那就什么都不用,就需要一台电脑,配置好环境,
环境可以是IIS+PHP,,,,APACHE+PHP等方式,建议用PHPSTUDY,WMAP之类的套件,安装就可以用了,不用配置那么麻烦。
thinkphp的路由可以让你的URL地址更加简洁和优雅,比如在没有定义路由时的访问url为,在定义路由后可以通过进行相同效果的访问~
为什么需要路由器???
简单介绍一下路由器主要功能:
代替PC端进行宽带拨号,连接到网络,避免电脑端的频繁拨号连接才可上网;
路由器通常分为LAN(局域网)4口、8口等,适用于家庭与办公,多台电脑连接使用单个宽带的互联网络。
路由器分为:有限路由器、wifi路由器、企业路由器;能够对实际需要提供不同的功能服

问题:路由器一定需要用上吗?
答案:否。
原因:路由器只是为网络提供多样化使用的辅助设备,可不通过路由器直接使用电脑拨号上网。
问题:为什么需要路由器?
现目前,手机使用wifi无线网络已经普遍,而家庭等区域需要使用wifi无线网络,则需要一款wifi无线路由器来提供此服务(也称为wifi发射器),来实现wifi网络的发射,提供wifi终端连接并接入互联网。
例如:公司多台电脑,单一网络需要连接到多台PC终端使用,实现共用此宽带网络,那么路由器则为必不可少的设备用于提供此服务。
为什么要使用路由器呢?
要解释路由器的概念,首先得知道什么是路由。所谓“路由”,是指把数据从一个地方传送到另一个地方的行为和动作,而路由器,正是执行这种行为动作的机器,它的英文名称为Router,是一种连接多个网络或网段的网络设备,它能将不同网络或网段之间的数据信息进行“翻译”,以使它们能够相互“读懂”对方的数据,从而构成一个更大的网络。
简单的讲,路由器主要有以下几种功能:
第一,网络互连,路由器支持各种局域网和广域网接口,主要用于互连局域网和广域网,实现不同网络互相通信;
第二,数据处理,提供包括分组过滤、分组转发、优先级、复用、加密、压缩和防火墙等功能;
第三,网络管理,路由器提供包括配置管理、性能管理、容错管理和流量控制等功能。
为了完成“路由”的工作,在路由器中保存着各种传输路径的相关数据--路由表(RoutingTable),供路由选择时使用。路由表中保存着子网的标志信息、网上路由器的个数和下一个路由器的名字等内容。路由表可以是由系统管理员固定设置好的,也可以由系统动态修改,可以由路由器自动调整,也可以由主机控制。在路由器中涉及到两个有关地址的名字概念,那就是:静态路由表和动态路由表。由系统管理员事先设置好固定的路由表称之为静态(static)路由表,一般是在系统安装时就根据网络的配置情况预先设定的,它不会随未来网络结构的改变而改变。动态(Dynamic)路由表是路由器根据网络系统的运行情况而自动调整的路由表。路由器根据路由选择协议(RoutingProtocol)提供的功能,自动学习和记忆网络运行情况,在需要时自动计算数据传输的最佳路径。
为什么需要路由器?
路由器的一个作用是连通不同的网络,另一个作用是选择信息传送的线路。选择通畅快捷的近路,能大大提高通信速度,减轻网络系统通信负荷,节约网络系统资源,提高网络系统畅通率,从而让网络系统发挥出更大的效益来。
从过滤网络流量的角度来看,路由器的作用与交换机和网桥非常相似。但是与工作在网络物理层,从物理上划分网段的交换机不同,路由器使用专门的软件协议从逻辑上对整个网络进行划分。例如,一台支持IP协议的路由器可以把网络划分成多个子网段,只有指向特殊IP地址的网络流量才可以通过路由器。对于每一个接收到的数据包,路由器都会重新计算其校验值,并写入新的物理地址。因此,使用路由器转发和过滤数据的速度往往要比只查看数据包物理地址的交换机慢。但是,对于那些结构复杂的网络,使用路由器可以提高网络的整体效率。路由器的另外一个明显优势就是可以自动过滤网络广播。从总体上说,在网络中添加路由器的整个安装过程要比即插即用的交换机复杂很多。
一般说来,异种网络互联与多个子网互联都应采用路由器来完成。
路由器的主要工作就是为经过路由器的每个数据帧寻找一条最佳传输路径,并将该数据有效地传送到目的站点。由此可见,选择最佳路径的策略即路由算法是路由器的关键所在。为了完成;这项工作,在路由器中保存着各种传输路径的相关数据——路径表(Routing
Table),供路由选择;时使用。路径表中保存着子网的标志信息、网上路由器的个数和下一个路由器的名字等内容。路径表可以是由系统管理员固定设置好的,也可以由系统动态修改,可以由路由器自动调整,也可以由主机控制。
1.静态路径表
由系统管理员事先设置好固定的路径表称之为静态(static)路径表,一般是在系统安装时就根据网络的配置情况预先设定的,它不会随未来网络结构的改变而改变。
2.动态路径表
动态(Dynamic)路径表是路由器根据网络系统的运行情况而自动调整的路径表。路由器根据路由选择协议(Routing
Protocol)提供的功能,自动学习和记忆网络运行情况,在需要时自动计算数据传输的最佳路径。

php框架的路由机制 php如何实现页面路由转发

php如何实现页面路由转发


php实现页面路由转发的方法:首先配置nginx服务器,在【.htaccess】中写上nginx的语法;然后打开根目录的【index.php】,编写文件路由即可。
php实现页面路由转发的方法:
1、配置nginx服务器
nginx服务器不会自动读取.htaccess,也不支持.htaccess语法,这里需要做一个投机取巧的方法:在.htaccess中写上nginx的语法,同时把该文件引入到nginx的配置中。这样就达到了和apache同样的目的。编辑.htaccess文件,输入以下内容并保存
if (!-e $request_filename){
rewrite ^(.*)$ /index.php;
}
location ~ /.ht {
deny all;
}【解释】nginx匹配失败的uri全都转给index.php,同时禁止访问.htaccess文件
最重要的一步:在nginx配置中,在server{}内加入一句话:
include E:/demo/.htaccess;【解释】将该文件原封不动的引入到nginx配置中。注意使用绝对路径!
2、编写index.php路由
打开根目录的index.php,输入以下内容
<?php
//路由
$uri = $_SERVER['REQUEST_URI']; //获取uri,例如 ,其uri="/study"
switch($uri){
case "/": include "template/home.php"; break;
case "/study": include "template/study.php"; break;
case "/play": include "template/play.php"; break;
}
编写/template/下的网页文件
/template/下存放的网页文件,随便编辑点html用于测试。例如 home.php
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>这里是home</title>
</head>
<body>
<h1>你好,这里是home页面</h1>
</body>
</html>效果
在浏览器访问 可以访问到/template/home.php
在浏览器访问 可以访问到/template/study.php
在浏览器访问 可以访问到/template/play.php
相关免费学习推荐:php编程(视频)

php框架的路由机制 php如何实现页面路由转发

Phpcms如何自定义URL路由规则

一、概述

自定义url规则,首先要建立自己的URL规则,首先的理解一些定义和变量含义。首先进入URL规则管理这里,你会看到如下内容(进入方法:“扩展”-》“RUL规则管理”—》“管理RUL规则”)

在、问吧、专题、等等

也就是说你下一步建立的RUL规则是要应用在哪个模块上,那你就要选者哪个。在这里特别要提示一下的是,你在建立URL规则的时候不要选哪个“不限”。本然按照PHPCMS当初的意思是可以应用与任何模块,但是我实际操作当中,发现如果选者了不限,那你在其他模型里面是看不到你选者的URL规则。

二、名称

名称这里PHPCMS分 category(列表页),show(详细页),htmlshow(问吧详细页),htmlcategory(问吧列表页)。

这里要注意一点,假如你是现在定义的URL规则是想应用与图片模块的列表页,那你这里URL名称一定要写category,否者的话,你在模块设置这里是看不到你定义的URL规则。

三、HTML

你在定义URL规则的时候,有个可选项目,静态URL规则:生成静态页面调用的URL规则,你选者“是”或者“否”,意思就是如果选者是,那你这条规则就是生成静态页面用的,相反就选否。

四、URL示例

这里就是些一些你想要的URL形式,你可以随便写,只要你自己认得这是你这一条规则的形式。但是不能不写啊,否者你在模型设置里面,又会发现,怎么看不到我定义的规则名称,这个示例可是当名称一样用的哦。

在定义RUL规则之前,你首先要理解上面的四点,然后接下来要理解那些变量的含义了。

1、{$parentdir}{$catdir} ---含义:当前栏目目录名称;

2、{$catid} ----含义:栏目ID号;

3、.{$fileext}---含义:.htm(注意这里前面要加个“."号l ;

4、{$year} ----含义:年;

5、{$month} --含义:月;

6、{$day} -----含义:日;

根据后台 系统设置->相关设置->URL规则管理所列的URL规则编写。

以下所用示例,请灵活修改。

示例栏目:

新闻news

|___国内china

|___国际inter

|___美国usa

1、URL规则所用变量

{$catid}栏目id。例:形如1,10等

{$categorydir}栏目目录树(相对于phpcms安装目录)。例:如为一级目录则为/news/,二级目录为/news/china/,三级目录为/news/inter/usa

{$catdir}栏目目录。例:如为一级目录则为/news/,二级目录为/china/,三级目录为/usa/

{$year} {$month} {$day} 年月日。文章发布时间的年,月,日。

{$page}页码。文章分页时的页码。

{$fileext}静态页扩展名。为网站配置->生成的扩展名所定义。

{$contentid}文章id。

以下是专题模块用的

{$typeid}类别id

{$typedir}类别目录

{{$filename}专题名称 我爱编程网

{$specialid}专题id

问吧,对于问吧,最好不要修改了

{$action}操作

2、URL规则数据库字段说明

模块:所属模块,目前有问吧,专题,phpcms。

URL规则名称:这个名称应该为URL规则应用的范围,如用于栏目页(目录),内容页等。一般会用到show(内容页),category(栏目页)

生成Html:是否生成html。关系到所写的URL规则。

URL规则/URL示例:这个就是本文重点要讲的了

3、应用示例

特别说明:定义url时,应为分页网址加上{$page}变量。两条规则用|隔开。

(1)官方演示

{$catdir}/index.{$fileext}|{$catdir}/{$page}.{$fileext}

{$categorydir}/{$year}/{$month}{$day}/{$contentid}.{$fileext}|{$categorydir}/{$year}/{$month}{$day}/{$contentid}_{$page}.{$fileext}

(2)一个例子

建立形如/news/article_1_2.html的规则

{$catdir}/article_{$contentid}.{$fileext}|{$catdir}/article_{$contentid}_{$page}.{$fileext}

如选目录树,则{$catdir}改为{$category}

(3)扩展功能(正式版未测试)

定义为动态时,所以栏目、内容页都为phpcms目录下/list.php?,/show?等形式,如果想让url规则为/news/show.php?id=,/news/index.php这个要怎么操作呢?

首先想到的是定义url规则,如

栏目页{$catdir}/index.php|{$catdir}/index.php?page={$page}

内容页{$catdir}/show.php?contentid={$contentid}|{$catdir}/show.php?contentid={$contentid}&page={$page}

定义完之后,问题来了,所建的目录下并没有index.php和show.php文件,怎么办?

把list.php复制到相应目录下,更名为index.php,show.php也做如上操作,这两个文件都在phpcms的目录里。

这时再看已经输入的内容,会提示出错,路径错误,改show.php第一句为

require ‘../include/common.inc.php’; 这个是根据一级目录改的

下面还有几个require,相应的改动一下就行了,我没改,也没有报错。改完之后再浏览(在后台,点文章标题)就可以打开了。

修改复制进去的index.php

第一句修改同上。因为自定义的URL规则是不带catid参数的,所以在$catid = intval($catid);改为$catid = 5(这里是你所要改的栏目的id,在栏目管理可以看到)。

摘选自 网页链接 ,内容挺全的

以上就是php框架的路由机制 php如何实现页面路由转发全部内容,更多相关信息,敬请关注我爱编程网。
与“php框架的路由机制 php如何实现页面路由转发”相关推荐
php框架中uri路由机制 php如何实现页面路由转发
php框架中uri路由机制 php如何实现页面路由转发

php如何实现页面路由转发php实现页面路由转发的方法:首先配置nginx服务器,在【.htaccess】中写上nginx的语法;然后打开根目录的【index.php】,编写文件路由即可。php实现页面路由转发的方法:1、配置nginx服务器nginx服务器不会自动读取.htaccess,也不支持.htaccess语法,这里需要做一个投机取巧的方法:在.htaccess中写上n

2023-09-26 06:44:45
php框架路由实现的 php如何实现页面路由转发
php框架路由实现的 php如何实现页面路由转发

什么PHP框架可以自定义路由,我要用POST请求来做路由,并且路由的key可以自己定义可以自定义路由的框架太多了,以下从框架的可用性等来介绍:Laravel框架:合框架的大成,是一个全栈框架,包含:MVC,缓存,队列,定时任务等等。Slim:一个微型的框架,如果是简单的App后端服务,可以使用。ThinkPHP5.0版本:中文文档十分丰富,使

2023-09-24 06:53:09
php框架的路由 php如何实现页面路由转发
php框架的路由 php如何实现页面路由转发

php如何实现页面路由转发php实现页面路由转发的方法:首先配置nginx服务器,在【.htaccess】中写上nginx的语法;然后打开根目录的【index.php】,编写文件路由即可。php实现页面路由转发的方法:1、配置nginx服务器nginx服务器不会自动读取.htaccess,也不支持.htaccess语法,这里需要做一个投机取巧的方法:在.htaccess中写上n

2023-09-07 09:02:20
php框架路由器 php如何实现页面路由转发
php框架路由器 php如何实现页面路由转发

配置php环境需要路由器吗?你本机测试要路由器干嘛,,如果是局域网测试当然要路由器或者是集线器之类的组成局域网。。如果你打算把你的PHP环境影射到外网,那当然需要一个已经能上网的路由,而且可以设置端口影射的路由器。如果只是本机测试,那就什么都不用,就需要一台电脑,配置好环境,环境可以是IIS+PHP,,,,APACHE+PHP等方式,建议用PHPSTUDY,WMAP之类的套

2023-09-22 20:57:37
框架中的路由机制php php如何实现url路由分发功能
框架中的路由机制php php如何实现url路由分发功能

php如何实现页面路由转发php实现页面路由转发的方法:首先配置nginx服务器,在【.htaccess】中写上nginx的语法;然后打开根目录的【index.php】,编写文件路由即可。php实现页面路由转发的方法:1、配置nginx服务器nginx服务器不会自动读取.htaccess,也不支持.htaccess语法,这里需要做一个投机取巧的方法:在.htaccess中写上n

2023-09-30 11:46:47
Php框架路由post php如何使用post跳转页面
Php框架路由post php如何使用post跳转页面

PHP中如何使用cURL实现Post请求PHP中使用cURL实现Post请求的方法:首先初始化【curl_init()】;然后设置变量,并执行并获取结果【curl_exec()】;最后释放cURL句柄【curl_close()】。PHP中使用cURL实现Post请求的方法:1.cURL介绍cURL是一个利用URL语法规定来传输文件和数据的工具,支持很多协议,如HTTP、FTP、

2023-09-11 06:33:00
php框架的路由怎么实现 ThinkPHP的几种路由形式总结
php框架的路由怎么实现 ThinkPHP的几种路由形式总结

ThinkPHP的几种路由形式总结本篇文章总结了ThinkPHP的几种路由形式,分别是普通模式、PATHINFO、REWRITE和兼容模式,希望对各位学习thinkphp的朋友有帮助!thinkphp官方文档里有详细的说明:ThinkPHP支持的URL模式有四种:普通模式、PATHINFO、REWRITE和兼容模式,可以设置URL_MODEL参数改变URL模式。(推荐教程:

2023-09-28 22:40:11
如何解释php框架中的路由 php为什么要使用路由器
如何解释php框架中的路由 php为什么要使用路由器

ThinkPHP的几种路由形式总结本篇文章总结了ThinkPHP的几种路由形式,分别是普通模式、PATHINFO、REWRITE和兼容模式,希望对各位学习thinkphp的朋友有帮助!thinkphp官方文档里有详细的说明:ThinkPHP支持的URL模式有四种:普通模式、PATHINFO、REWRITE和兼容模式,可以设置URL_MODEL参数改变URL模式。(推荐教程:

2023-10-07 04:51:58