PHP如何实现网址伪静态(转)

Apache的 mod_rewrite是比较强大的,在进行网站建设时,可以通过这个模块来实现伪静态。
主要步骤如下:

1、检测Apache是否开启mod_rewrite功能     可以通过php提供的phpinfo()函数查看环境配置,找到“Loaded Modules”,

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

如果没有开启“mod_rewrite”,则打开目录 apache目录下的“/apache/conf/” ,找到 httpd.conf 文件,再找到“LoadModule rewrite_module”,

将前面的”#”号删除即表示取用该功能。    如果没有查找到“LoadModule” 区域,可以在最后一行加入“LoadModule rewrite_module ,modules/mod_rewrite.so”(独占一行),

之后重启apache服务器。再通过phpinfo()函数查看环境配置就有“mod_rewrite”为项了.。
 2、让apache服务器支持.htaccess    如何让自己的本地APACHE服务器支持:“htaccess”呢? 只需修改apache的httpd.conf设置就可以让 APACHE支持“.htaccess”了。

打开 APACHE目录的CONF目录下的httpd.conf文件,找到:

  Options FollowSymLinks AllowOverride None 改为 Options FollowSymLinks AllowOverride All 就行了。
 3、建立.htaccess 文件    建立.htaccess文件时要注意,不能直接建,方法是通过记事本中的另存为菜单,在文件名窗口输入:“.htaccess”,然后点击保存。
 4、rewrite规则学习    在新建.htaccess文件之后,就在里面写入以下内容: RewriteEngine on #rewriteengine为重写引擎开关on为开启off为关闭

RewriteRule ([0-9]{1,})$index.php?id=$1 在这里,RewriteRule是重写规则,是用正则表达式的句子,([0-9]{1,})表示由数字组成的,

  $表示结束标志,表示以数字结束!如果要实现伪静态页面,规则如下:

   RewriteEngine on RewriteRule ([a-zA-Z]{1,})-([0-9]{1,}).html$  index.php?action=$1&id=$2

在为个正则表达式中,([a-zA-Z]{1,})-([0-9]{1,}).html$是规则,index.php?action=$1&id=$2是要替换的格式,$1代表第1括号匹配的值,$2代表第二个括号的值,

如此类推! 测试PHP脚本如下: index.php文件中的代码如下: echo ‘你的Action值为:’ . $_GET[‘action‘]; echo ‘ ’; echo ‘ID值为:’ . $_GET[‘id‘]; ?>
  在浏览器地址栏输入: localhost/page-18.html 输出的是: 你的Action值为:page ID值为:18

ErrorDocument 404 error.html    ----可以编写错误转向规则。
RewriteRule ([a-zA-Z]{1,})-([0-9]{1,}).html$ test.php?action=$1&id=$2

上述两条规则放在测试机中测试成功。 xxx.html(不存在) 这转向执行 error.html

xxx-12.html 这转向test.php执行。

时间: 2024-10-25 10:06:56

PHP如何实现网址伪静态(转)的相关文章

PHP如何实现网址伪静态

Apache的 mod_rewrite是比较强大的,在进行网站建设时,可以通过这个模块来实现伪静态. 主要步骤如下: 1.检测Apache是否开启mod_rewrite功能     可以通过php提供的phpinfo()函数查看环境配置,找到“Loaded Modules”,其中列出了所有apache2handler已经开启的模块,如果里面包括“mod_rewrite”,则已经支持,不再需要继续设置.如果没有开启“mod_rewrite”,则打开目录 apache目录下的“/apache/con

.htacess的url重写(支持伪静态)

html网页纯静态: 1.加载的时候不需要调用数据库,打开速度快,另外减少了服务端脚本的匹配时间.2.减少了服务器对数据响应的负荷.3.从安全角度讲,纯静态网页不易遭受黑客攻击.4.从网站稳定性来讲,即使网站代码或数据库出了问题,静态网站也不会受到影响. 伪静态既url重写,就是截取传入的Web请求并自动将请求重定向到其他url的过程,其目的主要是通过重写URL的方法实现去掉动态网页的参数,从而更加有利于搜索引擎的收录. 伪静态的优点有5点:1.维护方便,网页每天都自动变化,不用维护或者说极大地

ASP.NET的SEO:正则表达式

目前国内主流的网站内容管理系统中,有大部分是可以将动态的PHP.ASP.ASPX等文档直接生成HTML的.但是由于有些网站的内容较多,因此如果单纯的采取直接生成的方式,将会占用大量的服务器资源.在这种情况下,我们就可以使用"伪静态"的方式,对网站URL静态化,以达到SEO的目的. 伪静态所需要的工具 如果网站使用的是独立服务器的话,那么我们就可以随意的对网站进行伪静态操作了,假如网站使用的服务器是Apache服务器,那么它自带了mod_rewrite来实现URL的重写功能(URL Re

asp.net 获得伪静态网址解决微信sdk签名问题

手机网站是asp.net c#编写的,前几天因为要使用微信SDK在手机网站页面使用分享功能,但是程序使用了伪静态功能.如果原地址是:http://ww.xx.com/news/show.aspx?id=233.转化过的伪静态地址为http://ww.xx.com/news/show-233.aspx.sdk签名中需要使用使用获得浏览器的动态网址为加入算法作为签名,试了好几种方法都不行.最后找到解决方法,可以使用Request.RawUrl获得伪静态的页面地址.如果大家有更好的方法也可以说下 测试

dedecms织梦移动版伪静态 - 实现与PC电脑版静态地址url一致教程+伪静态规则

电脑版静态效果 移动版伪静态效果 以下教程所修改的文件(utf8/gbk)打包下载: 修改或者覆盖文件之前请备份以下4个文件\m\index.php\m\list.php\m\view.php\include\arc.listview.class.php 链接: https://pan.baidu.com/s/1i49ABe1 密码: 2wid 电脑版静态生成这里就不多说了,移动版伪静态操作教程如下: 1.移动版域名 m.123.com 解析并指向绑定目录到网站目录的m文件夹 2.后台-系统配置

如何分辨别人的网站是伪静态还是纯静态

IE浏览器 打开你想判断的网站后,再在网址框中输入javascript:alert(document.lastModified).此方法可以判断一个网页的最后更新时间.如果这个时间与现在的时间相同,说明是伪静态的,反之为真静态的. 火狐Firefox浏览器 先用火狐打开一个网页,等网页完全打开后进入FireFox的控制台,"工具"-“错误控制台”-快捷键:Shift+Ctrl+J,然后在控制台里面输入入:alert(document.lastModified),查看最后修改时间并记录.

什么是伪静态,以及apache 如何实现伪静态

原文链接:http://www.cnblogs.com/ainiaa/archive/2010/07/25/1784564.html php伪静态 一直在做php的开发工作.在开发的过程中老早就听说了“伪静态”这一说.但是一直没有对其进行了解. 今天终于下定决定 要好好的了解下这方面的内容. 首先,什么是伪静态: 伪静态又名URL重写,是动态的网址看起来像静态的网址.换句话说就是,动态网页通过重写 URL 方法实现去掉动态网页的参数,但在实际的网页目录中并没有必要实现存在重写的页面. 另外在补充

网站伪静态的好处与坏处

伪静态是相对真实静态来讲的. 一.什么是静态技术? 所谓静态的意思,就是地址中不带问号. 二.为什么要用伪静态技术? Web应用程序最大的特点之一就是无状态,当一个页面跳转到另一个页面时,那么这个页面上的所有参数都将抛弃,所以动态页面一般利用url地址来保存其参数,就像: www.attjs.net/essay.asp?id=1    这样,搜索引擎在录取该页面时,可能会因为问号而进入死循环(以前动网就有这样一个漏洞,蜘蛛进去出不来了),所以很多时候带问号的地址是不会进去的,这样便降低了页面的收

网站建设做成伪静态的好处

SEOer每次拿到一个网站,做的第一件事情就是看看网站是否是动态或者是已经做好伪静态,一直以来,URL的静态化是SEO的要求之一.为什么在进行网站优化的时候,喜欢让网站的URL伪静态呢? 第一,我们来了解一下什么是伪静态,为什么会出现伪静态这个词?我们都知道早期网站没有动态语言,例如(asp/jsp/)等等的支持,所有页面都是靠手工开发写HTML然后保存为扩展名为.html这种文件来供大家浏览,其访问地址可能是以.html结尾,如此可以想象整个效率是多么的低,而且还很复杂.后来出现了动态语言和数