开启PHP的伪静态模式_php实例

来源:脚本之家  责任编辑:小易  

tp 的路由随便,url,pathinfo,rewirte 都可以。我这里用apache举例:1 开启rewirte : LoadModule rewrite_module modules/mod_rewrite.so2 网站根目录e69da5e6ba903231313335323631343130323136353331333337376330增加 .htaccess 文件,内容如下:RewriteEngine onRewriteBase /RewriteRule ^local/show_(\d*).html index.php/local/show/id/$1 [L]RewriteCond %{REQUEST_FILENAME} !-f [NC]RewriteCond %{REQUEST_FILENAME} !-d [NC]RewriteRule ^(.*)$ index.php/$1 [L]我这里的 local/show_(\d*).html index.php/local/show/id/$1 是根据当前tp的路由来写的如果是url模式可写为 :RewriteRule ^local/show_(\d*).html index.php?m=local&a=show&id=$1 [L]测试:localAction.class.php 内容为:<?php class localAction extends Action{ public function show(){ echo 'id is: ' .$_GET['id']; } }?>www.zgxue.com防采集请勿采集本网。

一直在做php的开发工作.在开发的过程中老早就听说了“伪静态”这一说。但是一直没有对其进行了解。今天通过本篇文章仔细学习下。

显示空白页就说明不是服务器问题,是程序有错误,服务器如果不能解析php文件的话是会提示下载这个php文件的,你把调试模式开启应该就可以看到错误了

首先,什么是伪静态:

php.ini中找safe_mode

伪静态又名URL重写,是动态的网址看起来像静态的网址。换句话说就是,动态网页通过重写 URL 方法实现去掉动态网页的参数,但在实际的网页目录中并没有必要实现存在重写的页面。

3、在“#伪静态规则”下面写入对应网站的伪静态规则即可。4、帝国CMS伪静态规则(应以官方文件为准): RewriteRule^([0-9]+).([0-9]+)/$e/action/ShowInfo.php?classid=$1&id=$2[L] RewriteRule^([0-9]+).([0-9]

1.检测Apache是否支持mod_rewrite

?php phpinfo();把上面代码存为Php文件 然后打开就可以了,系统自带的函数

通过php提供的phpinfo()函数查看环境配置,通过Ctrl+F查找到“Loaded Modules”,其中列出了所有

据我所知,共有下面几种方式,下面我用我总结了知识给你简单说明,并且能够让你快速记得它们的区别: 文档说: b(bit二进制模式,默认模式,推荐使用) t(文本,一般不常用)

apache2handler已经开启的模块,如果里面包括“mod_rewrite”,则已经支持,不再需要继续设置。

如果没有开启“mod_rewrite”,则打开目录 您的apache安装目录“/apache/conf/” 下的 httpd.conf 文

件,通过Ctrl+F查找到“LoadModule rewrite_module”,将前面的”#”号删除即可。

如果没有查找到,则到“LoadModule” 区域,在最后一行加入“LoadModule rewrite_module modules/mod_rewrite.so”(必选独占一行),然后重启apache服务器即可。

2.在httpd.conf中配置虚拟主机

# Virtual hosts 启用虚拟主机

Include conf/extra/httpd-vhosts.conf

3.httpd_vhosts.conf文件中,配置相应的选项.详细讲解

<VirtualHost *:80> DocumentRoot "C:/myenv/apache/htdocs/static3" ServerName www.hsp.com <Directory "C:/myenv/apache/htdocs/static3">#Deny from All 403错误提示Allow from All#如果文件目录在apache目录外面,注释掉optinos 则,不能列表.options +Indexes#下面这个表示可以去读取 .htaccess文件,也可以直接在虚拟主机中配置.Allowoverride AllRewriteEngine OnRewriteRule news-id(\d+).html$ error.php?id=$1#这里可以设置多个重写的规则#RewriteRule news-id.html$ error.php </Directory> </VirtualHost>

4.在相应的目录下编写.htaccess 重写规则

   例子:

<IfModule rewrite_module>RewriteEngine OnRewriteRule news-id(\d+).html$ show.php?id=$1#这里可以设置多个重写的规则#RewriteRule news-id.html$ error.php</IfModule>

如果在linux下可以直接创建,

如果是在windows平台下,用记事本创建一个文件,比如abc.txt,然后另存为 .htaccess文件即可

5.重写规则,也可以直接在配置虚拟主机的<Directory>段配置.

动态、静态、伪静态之间的利与弊(新)

动态网址

首先,动态网址目前对于Google来说,“不能被抓取”的说法是错误的,Google能够很好的处理动态网址并顺利抓取;其次“参数不能超过3个”的说法也不正确,Google能够抓取参数超过3个的动态网址,不过,为了避免URL太长应尽量减少参数。

其次,动态网址有其一定的优势,以上面所说的 news.php?lang=cn&class=1&id=2 为例,网址中的参数准确的告诉Google,此URL内容语言为cn、隶属于分类1、内容ID为2,更便于Google对内容的识别处理。

最后,动态网址应尽量精简,特别是会话标识(sid)和查询(query)参数,容易造成大量相同页面。

静态网址

首先,静态网址具有的绝对优势是其明晰,/product/nokia/n95.html和/about.html可以很容易被理解,从而在搜索结果中可能点击量相对较高。

其次,静态网址未必就是最好的网址形式,上述动态网址中说到,动态网址能够告诉Google一些可以识别的参数,而静态网址如果文档布置不够恰当(如:过于扁平化,将HTML文档全放在根目录下)及其他因素,反而不如静态网址为Google提供的参考信息丰富。

最后,樂思蜀觉得Google此文中是否有其隐藏含义?“更新此种类型网址的页面会比较耗费时间,尤其是当信息量增长很快时,因为每一个单独的页面都必须更改编译代码。”虽然所说的是网站,但在Google系统中是否同样存在这样的问题呢?

伪静态网址

首先,伪静态网址不能让动态网址“静态化”,伪静态仅仅是对动态网址的一个重写,Google不会认为伪静态就是HTML文档。

其次,伪静态可取,但应把重心放在去除冗余参数、规范URL、尽可能的避免重复页上。

最后,伪静态有很大潜大危险,最好在对网站系统、网站结构、内容分布、参数意义熟悉的情况下使用。

在写伪静态规则时,应保留有价值的参数,不要将有价值的参数全部精简掉,如前面例子中的 news.php?lang=cn&class=1&id=2 最好重写为 news-cn-class1-id2.html,而不是过份精简重写为 news-2.html。

再就是伪静态中一定不能包含会话标识(sid)和查询(query)参数,/product.asp?sid=98971298178906&id=1234 这样的动态网址,其中的sid本来Google能够识别并屏蔽,但如果重写为 /product/98971298178906/1234,Google不但无法识别,还在整站中造成无限重复页面(每个会话都会产生一个新的会话ID)。

关于php开源程序的伪静态设置,怎么设置类?不同的开源程序设置方法是否有相同之处?它们各自是否又有怎样的特点类?是否有规律可查?这些,将是我们今天这篇文章的全部内容。无忧主机小编,就根据自己的多年的工作经验总结一下。把php开源程序如何设置伪静态(url重写)的方法进行总结,分享给大家,如何设置网站伪静态,怎么设置伪静态?这个问题,当你看完之后,肯定能找到解决问题的方向。此文,献给,亲爱的无忧主机香港免备案的php空间的用户们,以及对php开源程序的爱好者们。希望对各位站长能有所帮助。伪静态设置对象:市面您能找到的php开源程序使用环境:使用linux环境php虚拟主机,或自建的使用linux环境的独立服务器。不适合windows环境的的php空间用户使用。以下是关于php开源程序的伪静态设置的通用方法的介绍:任何php编写开源程序的网站,实现伪静态的方法,都是遵循这样的一个步骤:在网站后台开启伪静态功能上传.htaccess文件(伪静态规则)然后您的网站就会自动调用服务器的rewrite模块,把动态url地址根据,您的伪静态规则文件自动将其输出html的静态页面。只是不同的网站程序,其设置的方法和表现形式不同而已,我已将其分为如下几类,您可以详细参考。Php开源程序伪静态设置方法大概可以分为三种类型:善解人意型典型案例:wordpress用wordpress建站的站长应该都知道,wordpress的伪静态设置方法非常之简单,只需要登录wordpress后台,设置—常规,在“wordpress地址(URL)”和“站点地址(URL)”两个地方输入www的域名就可以了,不需要任何伪静态代码,可谓非常人性化,当之无愧的“善解人意”。自给自足型典型案例:光线cms光线cms伪静态设置方法是这样的:首先需要在后台开启伪静态,设置是:伪静态重写功能:开启网站运行模式:动态然后在网站根目录rewrite文件夹中找到.htaccess文件,也就是程序自带的伪静态文件,把它移到程序安装目录,就可以了。这类伪静态设置,一般是在后台开启伪静态,然后再把程序自带的伪静态文件放到程序安装目录就行了。由于伪静态文件程序包里是自带的,不需要自己去找,所以,“自给自足型”,理所应当。自力更生型典型案例:discuz(适用于各个版本)Discuz开启伪静态的方法,和光线cms设置方法有类似的地方。首先,需要在discuz论坛的后台全局—seo设置,在可用处全部勾选,点击提交,然后点击“查看当前的Rewrite规则”,把“Apache Web Server(虚拟主机用户)”下的代码复制出来,在本地新建一个名为1.txt文本文档(命名不限,不要用中文就行),复制进去保存。然后上传到网站安装目录,重命名为.htaccess。这里要注意一点,伪静态规则中的“RewriteBase/”,如果网站安装在根目录,那么就“/”后面就不需要写。否则就要在“/”后添加二级目录名称。这类伪静态设置,不仅仅需要在后台开启伪静态,还需要自己在后台寻找伪静态代码,并且需要自己新建文件上传到网站安装目录,相对以上两种,还是比较麻烦的。所谓“自力更生”,所有步骤几乎都要自己来操作,可谓名副其实。Php开源程序的伪静态设置,无忧主机小编了解的大概就这三个分类。一些其他的开源程序,基本上都可以归到这三个大类里面。希望大家可以有所收获。无忧主机小编推荐文章阅读:定制实现Ecshop专题页伪静态内容来自www.zgxue.com请勿采集。


  • 本文相关:
  • php伪静态写法附代码
  • php伪静态页面函数附使用方法
  • 不用mod_rewrite直接用php实现伪静态化页面代码
  • php 伪静态隐藏传递参数名的四种方法
  • 基于php伪静态的实现详细介绍
  • php 伪静态技术原理以及突破原理实现介绍
  • thinkphp路由规则使用示例详解和伪静态功能实现(apache重写)
  • apache开启伪静态的方法分享
  • php伪静态之apache篇
  • php 伪静态之iis篇
  • php伪静态rewrite设置之apache篇
  • 教你如何开启shopnc b2b2c 伪静态
  • linux中为php配置伪静态
  • laravel框架中控制器的创建和使用方法分析
  • thinkphp下的widget扩展用法实例分析
  • php实现字母数字混合验证码功能
  • 关于thinkphp中的异常处理详解
  • ci框架实现创建自定义类库的方法
  • 阿里云win2016安装apache和php环境图文教程
  • php实现银联商务公众号+服务窗支付的示例代码
  • php之密码加密的几种方式
  • php检查函数必传参数是否存在的实例详解
  • 基于php微信红包的算法探讨
  • 怎么设置php开源程序伪静态设置通用方法
  • 如何实现THINKPHP路由,PHP伪静态
  • Discuz程序伪静态后列表页不能打开,用的虚拟空间,求伪静态规则
  • 求助,伪静态的大佬们,请问THINKPHP ngnix 伪静态规则是什么
  • 服务器其中一个站点打不开php了,html等静态文件可以打开?
  • php如何开启安全模式?是在安装php的时候有选择吗?具体点
  • 帝国cms 伪静态后台怎么设置
  • 如何得知虚拟主机的php是否打开了安全模式?能不能提供一个测试虚拟主机环境的测试页面啊?我是新手,求助
  • PHP,如果想要在文件末尾写入方式打开一个文件,该给fopen()传什么参数?
  • phpstudy如何运行打开的php工程?
  • 网站首页网页制作脚本下载服务器操作系统网站运营平面设计媒体动画电脑基础硬件教程网络安全php基础php技巧php实例php文摘php模板首页php编程php伪静态写法附代码php伪静态页面函数附使用方法不用mod_rewrite直接用php实现伪静态化页面代码php 伪静态隐藏传递参数名的四种方法基于php伪静态的实现详细介绍php 伪静态技术原理以及突破原理实现介绍thinkphp路由规则使用示例详解和伪静态功能实现(apache重写)apache开启伪静态的方法分享php伪静态之apache篇php 伪静态之iis篇php伪静态rewrite设置之apache篇教你如何开启shopnc b2b2c 伪静态linux中为php配置伪静态laravel框架中控制器的创建和使用方法分析thinkphp下的widget扩展用法实例分析php实现字母数字混合验证码功能关于thinkphp中的异常处理详解ci框架实现创建自定义类库的方法阿里云win2016安装apache和php环境图文教程php实现银联商务公众号+服务窗支付的示例代码php之密码加密的几种方式php检查函数必传参数是否存在的实例详解基于php微信红包的算法探讨php获取数组长度的方法(有实例)微信公众平台实现获取用户openid教你如何使用php session使用php生成二维码的两种方法(带php发送get、post请求的6种方法简php中把stdclass object转array的微信公众平台网页授权获取用户基laravel框架数据库curd操作、连贯php删除数组中空值的方法介绍php从数组中删除元素的四种方法实yii2 activerecord多表关联及多表关联搜索jquery+thinkphp实现跨域抓取数据的方法使用 laravel sms 构建短信验证码发送校验浅谈laravel框架sql中groupby之后排序的问深入了解php中的array数组和foreachphp nginx 实时输出的简单实现方法symfony模板的快捷变量用法实例php发表心情投票功能示例(附源码)php多功能图片处理类分享(php图片缩放类)destoon之一键登录设置
    免责声明 - 关于我们 - 联系我们 - 广告联系 - 友情链接 - 帮助中心 - 频道导航
    Copyright © 2017 www.zgxue.com All Rights Reserved