`
yunmoxue
  • 浏览: 289327 次
  • 性别: Icon_minigender_1
  • 来自: 郑州
社区版块
存档分类
最新评论

php pathinfo 静态化url

    博客分类:
  • php
php 
阅读更多
From:http://www.chedong.com/tech/google_url.html


PATH_INFO是一个CGI 1.1的标准,经常发现很多跟在CGI后面的"/value_1/value_2"就是PATH_INFO参数:
比如:http://phpunixman.sourceforge.net/index.php/man/ls 中:$PATH_INFO = "/man/ls"
PATH_INFO是CGI标准,因此PHP Servlet等都有的支持。 比如Servlet中就有request.getPathInfo()方法。
注意:/myapp/servlet/Hello/foo的 getPathInfo()返回的是/foo,而/myapp/dir/hello.jsp/foo的getPathInfo()将返回的 /hello.jsp,从这里你也可以知道jsp其实就是一个Servlet的PATH_INFO参数。ASP不支持PATH_INFO
PHP中基于PATH_INFO的参数解析的例子如下:
//注意:参数按"/"分割,第一个参数是空的:从/param1/param2中解析出$param1 $param2这2个参数
if ( isset($_SERVER["PATH_INFO"]) ) {
    list($nothing, $param1, $param2) = explode('/', $_SERVER["PATH_INFO"]);
}

如何隐蔽应用:例如 .php,的扩展名:
在APACHE中这样配置:
<FilesMatch "^app_name$">
    ForceType application/x-httpd-php
</FilesMatch>

如何更像静态页面:app_name/my/app.html
解析的PATH_INFO参数的时候,把最后一个参数的最后5个字符“.html”截断即可。
注意:APACHE2中缺省是不允许PATH_INFO的,需要设置 AcceptPathInfo on

特别是针对使用虚拟主机用户,无权安装和配置mod_rewrite的时候,PATH_INFO往往就成了唯一的选择。

OK,这样以后看见类似于http://www.example.com/article/234这样的网页你就知道可能是 article/show.php?id=234这个php程序生成的动态网页,很多站点表面看上去可能有很多静态目录,其实很有可能都是使用1,2个程 序实现的内容发布。比如很多WIKIWIKI系统都使用了这个机制:整个系统就一个简单的wiki程序,而看上去的目录其实都是这个应用拿后面的地址作为 参数的查询结果。
分享到:
评论

相关推荐

    php实现页面静态化

    2. **伪静态化**:通过 URL 重写技术将动态页面的 URL 转换为类似静态页面的 URL 形式,但实际上仍然是由服务器端动态生成的页面。 #### 三、开发环境 本案例采用以下开发环境: - 操作系统:Windows 7 - Web ...

    全能主机运行Wordpress实现伪静态和中文URL的方法

    伪静态是一种技术,它将动态生成的URL转化为静态化格式,使URL看起来像静态页面一样,易于用户理解和记忆,同时也有利于搜索引擎抓取。在WordPress中,伪静态有助于提高网站的SEO(搜索引擎优化)效果。 接下来,...

    PHP伪静态化页面的实现.txt

    ### PHP伪静态化页面的实现 #### 一、概述 伪静态化是一种常见的网页优化技术,主要用于提升用户体验和搜索引擎友好性。通过将动态生成的URL转换为类似静态页面的URL形式,可以使得原本动态的内容看起来像是静态...

    Nginx下配置pathinfo及ThinkPHP的URL Rewrite模式支持

    在Nginx服务器环境下,配置pathinfo和ThinkPHP的URL Rewrite模式是运行ThinkPHP框架的关键步骤。这使得URL更加简洁且符合SEO优化,同时也能够更好地处理动态请求。下面将详细介绍如何进行这些配置。 首先,我们需要...

    Nginx下实现pathinfo及ThinkPHP的URL模式

    在Nginx服务器环境下,实现PathInfo以及ThinkPHP框架的URL模式配置是一项常见的任务,它涉及到Web服务器如何处理带有额外路径信息的PHP脚本请求。PathInfo是指在PHP脚本名之后追加的额外路径信息,例如`example....

    浅析ThinkPHP中的pathinfo模式和URL重写

    这个就是pathinfo模式 在不考虑路由的情况下,第一个参数会被解析成模块名称(如果启用了分组的话,则依次往后递推),第二个参数会被解析成操作,后面的参数是显式传递的,而且必须成对出现,例如: 复制代码 代码...

    Nginx隐藏index.php和Pathinfo模式配置例子

    Pathinfo模式是一种PHP处理URL参数的方式,常见于一些框架如ThinkPHP、Yii等。在这种模式下,URL中的参数部分被放置在.php文件之后,如`example.com/index.php/controller/action`。 配置Pathinfo模式的关键在于...

    PHP 实现页面静态化的几种方法

    总结来说,PHP实现页面静态化有多种方法可供选择,包括但不限于使用PHP内置缓冲函数、利用$_SERVER['PATH_INFO']获取路径信息、配置Apache或Nginx服务器进行URL重写。每种方法都有其适用场景,开发者应根据网站规模...

    thinkphp在低版本Nginx 下支持PATHINFO的方法分享

    PATHINFO模式在URL中用于传递额外的参数,这对于ThinkPHP的路由功能至关重要。本文将详细讲解如何在低版本的Nginx服务器上配置PATHINFO支持,以便ThinkPHP能够正常工作。 首先,我们需要理解PATHINFO是什么。在PHP...

    ThinkPHP中pathinfo的访问模式、路径访问模式及URL重写总结

    在pathinfo模式下,URL可以更加简洁,例如访问Index模块下的test方法,可以使用URL:***,这种方式不需要通过查询字符串(如m和a参数)传递模块名和操作名,而是通过URL路径直接体现。pathinfo模式的URL通常更友好,...

    PHP命令行执行整合pathinfo模拟定时任务实例

    pathinfo()函数是PHP内置函数,它用于解析文件路径/URL路径信息。该函数能够根据不同的标志返回路径的各种组成部分,如目录名、基本名、扩展名、文件名等。本实例展示了如何在PHP的命令行模式下通过传入参数,执行...

    nginx 开启 pathinfo的过程详解

    apache往nginx去转,代码端用到了$_SERVER[‘PATH_INFO’],对于nginx默认是不开启pathinfo的。所以我们就要手动开启 1,url重写 location / { //方法1 if (!-e $request_filename) { rewrite ^/(.*)$ /index....

    PHP实现伪静态方法汇总

    当`cgi.fix_pathinfo`设置为1时,PHP会提供`PATH_INFO`环境变量,包含URL路径中的额外部分。例如,`www.xxx.com/index.php/c/index/a/test/id/100`,`$_SERVER['PATH_INFO']`将返回`/c/index/a/test/id/100`。...

    PHP伪静态写法附代码

    伪静态的主要目的是为了搜索引擎优化(SEO),因为搜索引擎对静态URL的友好程度要高于动态URL。伪静态通过使URL更加简洁、易读,提高网站的可访问性和用户体验,进而帮助提高网站的搜索排名。 在PHP中实现伪静态...

    Thinkphp---URL重写组件

    如果设置为`1`,则启用PATHINFO模式,URL会以模块/控制器/操作的方式展现;设置为`2`,则使用兼容模式,适用于不支持PATHINFO的服务器环境。 对于64位和32位系统的差异,实际上在配置和使用URL重写组件时,系统位数...

    Yii2配置Nginx伪静态的方法

    在Yii2中,你可以通过配置路由规则来控制如何生成和解析这些伪静态URL。例如,你可以定义如下的路由规则: ```php return [ 'urlManager' =&gt; [ 'enablePrettyUrl' =&gt; true, // 启用美化URL 'showScriptName' =&gt; ...

    PHP伪静态页面函数附使用方法

    这一过程主要依赖于PHP全局数组$_SERVER中的'PATH_INFO'变量,它包含了客户端请求的路径信息。 接下来,文章讨论了如何配置Apache服务器的httpd.conf文件,来进一步隐藏PHP代码。这里提供了三种方法: 1. 将PHP...

    WordPress在IIS服务器上的伪静态设置方法(解决中文URL无法访问问题)

    $pathinfo = mb_convert_encoding($_SERVER['PATH_INFO'], "UTF-8", "GBK"); $req_uri = mb_convert_encoding($_SERVER['REQUEST_URI'], "UTF-8", "GBK"); ``` 这一步是为了确保IIS能够正确解析和处理包含中文字符...

    ECSHOP首页生成纯静态页插件

    $index_file = ROOT_PATH . 'index.html'; $source_url = $site_url . '/index'; ``` 以上步骤完成后,即可正常使用ECSHOP首页生成纯静态页插件,享受更快速稳定的首页访问体验。 总结而言,ECSHOP首页生成纯...

Global site tag (gtag.js) - Google Analytics