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实现伪静态

<?php
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 '<pre>';print_r($_GET);

打印结果为:

Array
(
    [0] => open-source-plug-in
    [1] => 592
)

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

<?php
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 '<pre>';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伪静态还是非常简单的。

打赏

本文固定链接: https://www.cxy163.net/archives/4514 | 绝缘体

该日志由 绝缘体.. 于 2013年05月23日 发表在 未分类 分类下, 你可以发表评论,并在保留原文地址及作者的情况下引用到你的网站或博客。
原创文章转载请注明: php如何用程序实现伪静态 | 绝缘体
关键字: , , , ,

php如何用程序实现伪静态:等您坐沙发呢!

发表评论


快捷键:Ctrl+Enter