中国最大的自助建站提供商——>>意动社区 成功案例 精美模板
关于意动 | 产品全览 | 免费体验 | 服务与支持 | 建站资源与素材 | 访问旧版网站
      首 页   如何制作网站   如何建网站   网站优化   网络营销   常见问题   网站建设客户   智能一点通         VIP套餐    定制网站
将动态URL地址重定几至多关键词地址

一、config.inc.php文件中添加代码。这些全局关联数组定义了一行产品和种类,模拟了一个真实的产品数据库。下面将需要使用PHP代码,从这些数组中获得数据来自动生成URL地址的多关键词版本。

 

<?php

define('SITE_DOMAIN','http://www.edo2008.com');

$GLOBALS['products']=array("45"=>"Belt Sander",

"31"=>"Link Juice",

"42"=>"AJAX PHP Book");

$GLOBALS['categories']=array("12"=>"Carpenter's Tools",

"6"=>"SEO Toolbox",

"2"=>"Friend's Shed");

?>

 

二、创建include/url_redirect.inc.php,并键入以下代码:

 

<?php

require_once 'url_factory.inc.php';

function fix_category_product_url(){

$proper_url=get_proper_category_product_url();

if(SITE_DOMAIN.$_SERVER['REQUEST_URI'] != $proper_url){

header('HTTP/1.1 301 Moved Permanently');

header('Location:'.$proper_url);

exit();

}

}

 

function get_proper_category_product_url(){

$product_id=$_GET['product_id'];

$category_id=$_GET['category_id'];

$product_name=$GLOBALS['products'][$product_id];

$category_name=$GLOBALS['categories'][$category_id];

$proper_url=make_category_product_url($category_name,$category_id,$product_name,$product_id);

return $proper_url;

}

?>

 

三、在product.php中添加这些行:

 

<?php

require_once 'include/url_redirect.inc.php';

fix_category_product_url();

echo 'You have selected product #'.$_GET['product_id'].' from category #'.$_GET['category_id'];

?>

 

四、在WEB浏览器中加载 http://seophp.example.com/product.php?category_id=2&product_id=42,将会看到在URL地址中发生了一些魔术般的效果!

 

 首先,开始修改product.php来包含对url_redirect.inc.php的引用,并随后调用了它的fix_category_product_url()函数。

 

<?php

require_once 'include/url_redirect.inc.php';

fix_category_product_url();

?>

 

每当一个产品页面被加载时,函数fix_category_product_url()被执行,验证用于到达页面的URL地址是否是“正确”的。那个URL地址的“正确”版本是用get_proper_category_product_url()函数组成的:

 

function fix_category_product_url(){

$proper_url=get_proper_category_product_url();

 

关于get_proper_category_product_url()函数的工作过程的稍后讨论。现在只假设变量$proper_url包含的值类似于“http://seophp.example.com/Products/Friends-Shed-C2/AJAX-PHP-Book-P42.html”。一旦获得了这个“正确”的URL地址,就可以验证访问者使用这个URL地址一定能达到匹配它的产品页面:

 

if(SITE_DOMAIN.$_SERVER['REQUEST_URL'] != $proper_url)

{

 

参数$_SERVER['REQUEST_URL']返回用于达到页面的URL地址。比如,如果浏览 http://seophp.example.com/product.php?category_id=2&product_id=42,那么参数$_SERVER['REQUEST_URL']将返回“/product.php?category_id=2&product_id=42”。只要把这个值与域名拼接,就可以获得完整的URL地址。

 

如果不匹配,就可以通过设置必要的报头值,来完成用301重定向到正确的URL地址,报头值为:

 

if(SITE_DOMAIN.$_SERVER['REQUEST_URL'] != $proper_url) 

{

header('HTTP/1.1 301 Moved Permanently');

header('Location:'.$proper_url);

exit();

}

}

 

现在来看函数get_proper_category_product_url()。这个函数首先加载由变量$_GET中的URL地址传递而来的产品和种类ID。

 

function get_proper_category_product_url{

$product_id=$_GET['product_id'];

$category_id=$_GET['category_id'];

 

然后将从虚拟数据库中读取产品和种类的名称:

 

$product_name=$GLOBALS['products'][$product_id];

$category_name=$GLOBALS['categories'][$category_id];

 

虚拟数据库由两上全局关联数组构成,它们把ID与名称相关连。这些都在config.inc.php中定义,并模拟了一个真实的产品数据库。这个例子使用了关联数组来使一切忌变得简单。然而,在真实产品情景中,需要一个真正的数据库。

 

$GLOBALS['products']=array("45"=>"Belt Sander",

"31"=>"Link Juice",

"42"=>"AJAX PHP Book");

$GLOBALS['categories']=array("12"=>"Carpenter's Tools",

"6"=>"SEO Toolsbox",

"2"=>"Friend's Shed");

 

有了这些数据之后,get_proper_category_product_url()接着调用URL工厂中的函数make_category_product_url(),来创建多关键词URL地址:

 

$proper_url = make_category_product_url($category_name,$category_id,$product_name,$product_id);

 

最后,函数返回该值:

 

return $proper_url;

 


用户名:
密 码:
新手建站全过程视频讲解教程 成功案例
在线客服
如何制作网站

FLASH和AJAX

使用自定义标记语言来生成搜索引擎友好的HTML

搜索引擎友好的HTML

用图像来替换文字

使用sIFR

可检索的图像和图形文本

实现可检索的弹出窗口

搜索引擎友好的JavaScript(二)

搜索引擎友好的HTML和JavaScript

重定向数化的会员URL地址例子#2

重定向数化的会员URL地址

常见重复页面的解决方案(三)

常见重复页面的解决方案(二)

常见重复页面的解决方案(一)

网络空间的优势

免费空间的缺点与分类

如何挑选免费空间

空间是什么

帮助中心 付款方式 合同下载
北京蓝纤科技有限公司 Copyright 2000 - 2008
总机:010-64681504  64684094   传真:010-64673024
意动时代建网站联系:888@edo2008.com  代理意动时代自助建站业务:zhangyong@edo2008.com
非上班时间值班电话:13693193565 北京市通信管理局:京ICP证040119号
地址:(100028)北京市朝阳区静安庄一区领先商务中心106