怎样实现php伪静态,php如何用程序实现伪静态

web页面要实现伪静态,主要目的是为了seo考虑的,因为静态url相对于动态url来说更利于搜索引擎的抓取。一般实现伪静态的方法都是通过.htaccess urlrewrite实现的。但是如果你的虚拟主机不支持urlrewrite的话,那就要另想办法了,这里和大家分享一下如何使用php程序来实现网站的伪静态功能。

由于每个网站要伪静态的url都不一样,所以这里就通过举几个例子说明一下实现的办法,具体自己如何实现伪静态还得根据自己的情况来。这里以本站链接为例:

http://www.phpernote.com/open-source-plug-in/592.html

很久以前这个链接是:

http://www.phpernote.com/article-23-592.html

以上链接的实际链接地址是:

http://www.phpernote.com/article.php?class_id=23&id=592

那么对于这个url的伪静态程序可以如下这么来写:

(1)利用php程序对第一种url实现伪静态

function mod_rewrite($url='',$rootURL='http://www.phpernote.com/'){

global $_GET;

$url=empty($url)?cur_page_url():$url;

$url=str_ireplace(array($rootURL,'.html'),'',$url);

$url=explode('/',$url);

$_GET=$url;

return $_GET;

}

/*获取当前页面的URL(包括参数)*/

function cur_page_url(){

$pageURL='http';

$_SERVER['HTTPS']=='on' && $pageURL.='s';

$pageURL.='://';

$pageURL.=$_SERVER['SERVER_PORT']!='80'?$_SERVER['SERVER_NAME'].':'.$_SERVER['SERVER_PORT'].$_SERVER['REQUEST_URI']:$_SERVER['SERVER_NAME'].$_SERVER['REQUEST_URI'];

return $pageURL;

}

mod_rewrite('http://www.phpernote.com/open-source-plug-in/592.html');

echo '

';print_r($_GET);

打印结果为:

Array

(

[0] => open-source-plug-in

[1] => 592

)

(2)利用php程序对第二种url实现伪静态

function mod_rewrite($url='',$rootURL='http://www.phpernote.com/'){

global $_GET;

$url=empty($url)?cur_page_url():$url;

$url=str_ireplace(array($rootURL,'.html'),'',$url);

$url=explode('-',$url);

$_GET=$url;

return $_GET;

}

/*获取当前页面的URL(包括参数)*/

function cur_page_url(){

$pageURL='http';

$_SERVER['HTTPS']=='on' && $pageURL.='s';

$pageURL.='://';

$pageURL.=$_SERVER['SERVER_PORT']!='80'?$_SERVER['SERVER_NAME'].':'.$_SERVER['SERVER_PORT'].$_SERVER['REQUEST_URI']:$_SERVER['SERVER_NAME'].$_SERVER['REQUEST_URI'];

return $pageURL;

}

mod_rewrite('http://www.phpernote.com/article-23-592.html');

echo '

';print_r($_GET);

打印结果为:

Array

(

[0] => article

[1] => 23

[2] => 592

)

这里的$_GET[0]也可以去掉,如果是单一入口程序,$_GET[0]也许还是有用的。

当然对于以上程序,你可能感觉$_GET是个数字索引数组很不爽,其实这里也可以通过一定的办法将其生成关联数组。比如将以上url伪静态成为以下这样的链接就可以了。

http://www.phpernote.com/article/class_id/23/id/592.html

以上只是通过本站的url做简单的分析介绍如何用程序实现伪静态功能。其实对于一个网站,你对他的url形式进行一下总结,会发现他也不过就那么几种而已。像上面这样使用php程序实现url伪静态还是非常简单的。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值