关于伪静态详解!

来源:互联网 发布时间:2018-12-15 16:59:59 作者:admin 阅读量:380

1. 什么是网站的伪静态?
伪静态简而言之就是假静态, 当输入URL的时候访问的是.html或者.htm结尾的文件, 其实访问的依旧是.php文件, 过程就是进行URL的重写 。
2. 伪静态有什么好处?
个人认为: 伪静态相对于纯静态来说, 不用生成静态文件, 只需要写正则匹配URL路由即可, 搜索引擎喜欢静态文件, 那么伪静态正好投
其所好。
3. 伪静态如何配置?
我们采用建立.htaccess文件的形式, 来展示网站路由的伪静态技术, 实现步骤如下:
① 打开Apache的配置文件httpd.conf, 找到:
#LoadModule rewrite_module 将前面的 #去掉 表示开启url重写模式
② 找到虚拟主机的配置项:
<VirtualHost *:80>
ServerName www.lipeng.com
documentRoot c:/lipeng
</VirtualHost>
<Directory "c:/lipeng">
Options Indexes FollowSymLinks
AllowOverride None 改为 AllowOverride All 表示 本网站允许进行域名重定向
Order allow,deny
Allow from all
</Directory>
③ 重启Apaache
④ 在你的网站入口文件, 也就是根目录下建立一个.htaccess文件, 该文件比较特殊, 没有文件名
⑤ 然后打开这个.htaccess文件, 写入你的重写规则: 
第一行一定要写: RewriteEngineon 注释: 这一句话是开启重写模式规则 
第二行接着写重写的正则表达式:
RewriteRule([a-zA-Z]{1,})-([a-zA-Z0-9]{1,}).html$ /index.php?controller=$1&action=$2
这个正则什么意思呢? 我给你一一解释一下:
RewriteRule: 代表的是从这开始就是重写规则了
([a-zA-Z]{1,}): 是第一个正则, 也就是说你要请求的一个参数
例如: www.baidu.com/index.php?controller=User&&Action=add 那么上面的第一个正则将代表 controller=右边的值
-: 代表的是参数之间的连接标示符 可以用其他的标示符, 注意一定要是正则能认识的标示符
([a-zA-Z0-9]{1,}): 是第二个正则, 也就是说你要请求的二个参数
例如: www.baidu.com/index.php?controller=User&&Action=add 那么上面的第一个正则将代表 Action=右边的值
.html: 代表的是你要重写后的文件后缀名, 我们重写后以静态文件.html的形式展示
$: 代表重写的正则结束
紧接着一定要有一个空格, 后面开始写你要匹配的字符串也就是URL
index.php?controller=$1&action=$2: 代表你的原始URL, $1就会匹配你的第一个正则, $2就会匹配你的第二个正则伪静态实例:
例如: 我现在在C盘更目录下建立一个文件夹叫做: lipeng, 作为我网站的根目录紧接着, 我在根目录下写一个.htaccess文件, 内容如下:
RewriteEngine on
RewriteRule ([a-zA-Z0-9]{1,})-([a-zA-Z0-9]{1,}).htm$ /admin.php?name=$1&age=$2
那么上面的正则是什么意思呢? 就是我在浏览器的地址栏里写一个: http://www.lipeng.com/zhangsan-10.htm,那么这个地址就会去访问到我的admin.php文件, 因为重写的规则就是指向admin.php的, 并且zhangsan-10.htm中的zhangsan, 我可以在admin.php里通过$_GET['name']得到这个值, 还可以通过$_GET['age']得到10这个值, 因为我的正则规则就是: 值1-值2.文件后缀名

Copyright ©2018-2020 [亮师兄] Powered By [个人运维笔记] Version 1.1.0   我要留言
技术支持:亮师兄(服务QQ):44480394网站备案号: 滇ICP备18010560号   备案查询
Catfish(鲶鱼) CMS V 5.4.9