15053971836 注册 / 登录

伪静态模板

时间: 阅读:296
伪静态模板

最佳回答

抹不掉的回忆

抹不掉的回忆

2023-01-15 14:32:51

php伪静态 是把你的链接改成 html后缀之类的,从链接上看起来像静态的页面。
php模板只是提供给php程序显示数据的,php模板虽然可以是htm格式,但是在打开网页的时候仍然是php格式的。
PHP实现伪静态化页面方法一:
在你的程序初始化时使用如下代码:
<?php
$Php2Html_FileUrl = $_SERVER["REQUEST_URI"];
$Php2Html_UrlString = str_replace("/", "", strrchr($Php2Html_FileUrl, "/"));
$Php2Html_UrlQueryStrList = explode("@", $Php2Html_UrlString);
foreach($Php2Html_UrlQueryStrList as $Php2Html_UrlQueryStr)
{
$Php2Html_TmpArray = explode("|", $Php2Html_UrlQueryStr);
$_GET@[$Php2Html_TmpArray[0]] = $Php2Html_TmpArray[1];
}
echo '假静态:$_GET变量<br />';
print_r($_GET);
?>
然后php中调用$_GET变量就像平常一样了。
连接使用方式:
****.php/param1|1234@param2|4321
和****.php?param1=1234?m2=4321一样。
PHP实现伪静态化页面方法二:通过URL Rewrite实现链接静态化
我们知道搜索引擎对于静态页面是非常友好的,因此很多网站通过生成静态页面等手段方便爬虫抓取自己网站的内容。但是有时候一些应用并不适合全部静态化,比如数据变化非常大的论坛/贴吧系统,这时候我们可以通过URL重写来实现链接的伪静态化,即网站对外使用静态化的链接,而内部实际上仍然使用动态页面的 URL形式。比如像这样一个链接:http://www.ci123.com/abc.php?action=a&id=1,我们可以改写成http://www.ci123.com/abc/a/1.html的形式。这是搜索引擎优化最重要的内容之一,它还有一个额外的好处,可以使页面有一个永久链接,即便以后网站系统内部链接有变化,通过适当改变Rewrite规则就可以保证原先的外部URL一直有效。
下面介绍2种简单的Apache+PHP下实现URL重写的方法,第一种适合有服务器配置权限的用户,第二种适合租用空间的用户,也作为我近期的学习心得的整理。
1、对于有服务器配置权限的用户,推荐使用Apache的mod_rewrite模块,这里假设已经安装好mod_rewrite模块。打开Apache的配置文件,找到相应主机的部分,添加以下代码:
RewriteEngine On RewriteRule ^/abc/([a-z]+)/([0-9]+).html$ /abc.php?action=$1&id=$2
然后在shell里执行service httpd reload,让Apache重新载入配置就好了。现在在PHP页面里面我们可以把链接写成 abc/a/1.html的形式,Apache在解析这个 URL的时候会rewrite成abc.php?action=a&id=1的形式,并返回正确的页面。运用正则表达式我们可以实现几乎任何我们想要的链接形式,mod_rewrite模块的功能异常强大,这里只是一个及其简单的应用。
2、对于租用空间的用户,一般都没有办法修改Apache的配置,这里有个变通的方法,原理是这样的:当要传递参数访问PHP 页面时,正常情况下是通过自动全局变量$_GET来获得,比如上面的链接,在页面里可以通过$_GET@['action'] 和 $_GET@['id'] 来获得,重写URL后就不行了。现在在每个页面里require一个url_rewrite.php文件,里面代码如下:
$filename = basename($_SERVER['SCRIPT_NAME']);

if (strtolower($filename) == "abc.php"){
if (!empty($_GET@[id])){
$id = intval($_GET@[id]);
$action = intval($_GET@[action]);
}
else {
$nav = $_SERVER["REQUEST_URI"];
$script = $_SERVER["SCRIPT_NAME"];
$nav = ereg_replace("^$script", "", urldecode($nav));
$vars = explode("/", $nav);
$action = intval($vars[1]);
$id = intval($vars[2]);
}
}
这样$action和$id也得到了,页面里链接可以写成abc.php/a/1的形式来访问相应页面。
需要注意的是这种PHP实现伪静态化页面方法效率较第一种低,第一种方法是在WEB服务器URL解析过程中实现的,而这里是在PHP页面解析过程里实现的,第2种方法只是变通,不得已而为之,要修改链接形式很不方便也不灵活。

最新回答共有5条回答

  • 建站最低500起
    回复
    2023-01-15 17:17:03


    1、多年前你的一句保重,我至今没瘦。

    2、等一个不爱自己的人,就像在机场等一艘船。

    3、幸亏长得丑,没经历过各位的爱恨情仇。

    4、“特别能吃苦”这5个字,我想了想,我做到了前4个。

    5、爱拍马屁的人,最终都是为了骑马。



    6、只要是能用钱解决的问题,我一件都解决不了。

    7、最近穷得连家里的耗子都搬家了。

    8、胖子只有两条出路,要么就让身材变好,要么就让心态变好。

    9、我这辈子最遗憾的是,推我入地狱的人,也曾带我上过天堂。

    10、我这一生就只有两样不会,那就是这也不会那也不会。



    11、现在的天气,自来水可直接泡方便面。

    12、我活到现在这

  • 阳光下的阴霾
    回复
    2023-01-15 17:17:03

    1.不想奔三,还没二够。

    2.天干物燥,小心她闹。

    3.三分天注定,七分靠打扮。

    4.有朋自远方来,没带特产。

    5.秀发去无踪,头屑更出众。




    6.蓦然回首,你咋还没有走。

    7.不要说我土,我这叫复古。

    8.别害怕,我不是什么好人。

    9.世上无难事,只怕有钱人。

    10.经常被打击,从未被打倒。


  • 游客
    回复
    2023-01-15 17:17:03

    1、不想奔三,还没二够。

    2、不要说我土,我这叫复古。

    3、我喜欢交朋友,尤其是女朋友。

    4、做人就是累,不然怎么叫人类。

    5、一生败在太要脸,爱钱爱的不明显!

    6、忍一时越想越气,退一步越想越亏。

    7、多年前你的一句保重,我至今没瘦。

    8、说好一起到白头,你却偷偷焗了油。

    9、什么路只有一条,简称,死路一条。

    10、脑袋空不要紧,关键是不要进水。

    11、有一根火柴觉得头痒,然后它就死了。

    12、到年底一总结,发现赚到的只有年纪。

    13、吃什么补什么,夏天吃布丁, 蚊子就不叮。

    14、交话费的时候,才知道自己的话那么值钱。

    15、别人都在花前月下,只有我在花下个月钱。

    16、有一种忧伤叫,我回你是秒回,你回我是轮回。

    17、我喜欢你笑起来的样子,因为你笑起来像个傻子。

    18、做了五分钟作业,手机就吃醋了,哄了她两小时。

    19、谈恋爱太累,不如开个同学会,拆散一对是一对。

    20、虽然我们现在不熟,但是等天气热了,我们就熟了。<

  • 夜半唱歌
    回复
    2023-01-15 16:16:53

    这个就等百度更新吧,原来你的网站域名解析到空间了。并只有这个空间商的页面,被百度索引了。才会有这种情况。只有等百度下次更新的时候了,所以在网站没有上线之前,不要再空间内放其他不相干网页,现在做好网站更新及维护。慢慢百度就搜录了