Pathinfo有哪几种模式(PATHINFO模式和REWRITE模式哪个好)

2024-09-23 07:20:17 :1

pathinfo有哪几种模式(PATHINFO模式和REWRITE模式哪个好)

各位老铁们好,相信很多人对pathinfo有哪几种模式都不是特别的了解,因此呢,今天就来为大家分享下关于pathinfo有哪几种模式以及PATHINFO模式和REWRITE模式哪个好的问题知识,还望可以帮助大家,解决大家的一些困惑,下面一起来看看吧!

本文目录

PATHINFO模式和REWRITE模式哪个好

pathinfo 模式是index.ph/index/index 这种url格式。也需要服务器支持pathinfo才行rewrite就是伪静态。把index.php隐藏掉兼容模式就是普通的模式加s=/参数/或者m=model&a=action这样的 各个开发框架都自己特定的格式。

TP3.2的路由模式有几种,有什么区别

注:每种模式后面括号内的0,1,2,3代表TP中对应的编号第一种:普  通   模式(0):缺点:URL地址中显示内容太多,不安全第二种:pathinfo 模式(1):默认模式优点:简化了URL地址第三种:rewrite  模式(2):       个人建议使用模式优点:简短,隐秘 (目录中不显示index.php)使用rewrite模式需要两步操作:    

  • apache中开启rewrite模块,修改配置文件    

  • 将源码包中的.htaccess文件复制到项目根目录

  • 第四种:兼  容   模式(3):

    一般不使用该模式,只有当某些古老主机不支持pathinfo和rewrite模式,或者Apache没有开启pathinfo时使用。

thinkphp怎么同时支持两种url

支持的URL模式有四种:普通模式、PATHINFO、REWRITE和兼容模式。

普通模式:也就是传统的GET传参方式来指定当前访问的模块和操作,例如:

***隐藏网址***

m参数表示模块,a操作表示操作(模块和操作的URL参数名称是可以配置的),后面的表示其他GET参数。

PATHINFO模式:是系统的默认URL模式,提供了最好的SEO支持,系统内部已经做了环境的兼容处理,所以能够支持大多数的主机环境。对应上面的URL模式,PATHINFO模式下面的URL访问地址是:

***隐藏网址***

PATHINFO地址的第一个参数表示模块,第二个参数表示操作。

PATHINFO模式下面,URL是可定制的,例如,通过下面的配置:

’URL_PATHINFO_DEPR’=》’-’, // 更改PATHINFO参数分隔符

我们还可以支持下面的URL访问:

***隐藏网址***

REWRITE模式:是在PATHINFO模式的基础上添加了重写规则的支持,可以去掉URL地址里面的入口文件index.php,但是需要额外配置WEB服务器的重写规则。

如果是Apache则需要在入口文件的同级添加.htaccess文件,内容如下:

《IfModule mod_rewrite.c》

RewriteEngine on

RewriteCond %{REQUEST_FILENAME} !-d

RewriteCond %{REQUEST_FILENAME} !-f

RewriteRule ^(.*)$ index.php/$1

《/IfModule》

接下来,就可以用下面的URL地址访问了:

***隐藏网址***

兼容模式:是用于不支持PATHINFO的特殊环境,URL地址是:

***隐藏网址***

兼容模式配合Web服务器重写规则的定义,可以达到和REWRITE模式一样的URL效果。

nginx实现pathinfo有几种模式

鸟哥说的Rewrite重定向的方式指的是通过Nginx重定向,把PATH_INFO通过Query String的方式传给PHP。

例如,我们请求/user/1通过重定向规则,改为/index.php?path_info=/user/1。

这种方式需要PHP脚本内通过收集Query String来分析PATH_INFO,需要做一定的兼容适配。

而鸟哥介绍的第二种,是让PHP去拆解PATH_INFO信息。

例如,我们请求/index.php/user/1,PHP可以自动拆解脚本之后的路径,作为PATH_INFO,这里就是/user/1。

鸟哥介绍,由于PHP在拆解时可能出现一定的安全问题,所以还是不建议这种方法。

最后鸟哥介绍了另外一种方法,总体上来说还是从/index.php/user/1拆解出/user/1的方法,只不过这次拆解的过程是由Nginx来完成的,这种方法在接收请求的Nginx上来完成,相比较前两种在PHP中完成拆解的方法,这种方法由于可以使用的信息更多更直接,所以效果更好。

But,But,通常来说我们也不会以/index.php/user/1这种形式展示URL,而是希望隐藏程序的入口,也就是以/user/1来展示。所以说,这个过程我们仍然需要通过Nginx的Rewrite来完成隐藏程序入口到重定向到程序入口脚本的过程。通常在网络上看到的PHP+Nginx的隐藏入口配置,都是Rewrite配合最后一种拆解PATH_INFO方法来完成的。

所以说鸟哥的提法存在一定的问题,不能把第一种拆解PATH_INFO的方法单纯的与Nginx的Rewrite画等号。

请教,使用lnmp如何手动安装配置php

写在前面的话: ThinkPHP的四种URL模式:0(普通模式);1(PATHINFO模式);2(REWRITE模式);3(兼容模式) nginx需要PATHINFO模式,但需要更改nginx配置文件让其支持PATHINFO模式。 系统环境: 系统:CentOS-6.4-x86_64 web服务器:nginx1.2.7 PHP版本:...

文章分享结束,pathinfo有哪几种模式和PATHINFO模式和REWRITE模式哪个好的答案你都知道了吗?欢迎再次光临本站哦!

pathinfo有哪几种模式(PATHINFO模式和REWRITE模式哪个好)

本文编辑:admin
Copyright © 2022 All Rights Reserved 威海上格软件有限公司 版权所有

鲁ICP备20007704号

Thanks for visiting my site.