西部数码主机 | 阿里云主机| 虚拟主机 | 服务器 | 返回乐道官网
当前位置: 主页 > php教程 > zencart教程 >

Zen Cart产品页面301跳转(Ultimate SEO URLs)

时间:2011-08-07 09:00来源:未知 作者:好模板 点击:
Zen Cart产品页面301跳转(Ultimate SEO URLs)

 Zen Cart产品页面301跳转,好模板修改的是下面这个文件:

1 includes/modules/pages/product_info/main_template_vars.php

定位到下面的代码:

1 require(DIR_WS_MODULES . zen_get_module_directory('product_prev_next.php'));
2  
3 $products_name $product_info->fields['products_name'];

替换为:

01 require(DIR_WS_MODULES . zen_get_module_directory('product_prev_next.php'));
02  
03 $products_id   $product_info->fields['products_id'];
04 $products_name $product_info->fields['products_name'];
05  
06 // 301 product url
07 $enable301 = true;
08  
09 if ($enable301) {  // 301
10    if (!empty($products_name)) {
11       $rel_url = HTTP_SERVER . '/' . xen_encode_product_name($products_name) .'_p' $products_id '.html';
12       $req_url = HTTP_SERVER . $_SERVER['REQUEST_URI'];
13  
14       if ($rel_url != $req_url) {
15         $msg "{$req_url} :to: {$rel_url}\n";
16         $logfile = DIR_FS_CATALOG . 'log301.txt';
17         error_log($msg, 3, $logfile);
18         header('HTTP/1.1 301 Moved Permanently');
19         header( "Location: " $rel_url);
20         exit();
21       }
22    else {  // 404
23       $msg $_SERVER['REQUEST_URI'] . "\n";
24       $logfile = DIR_FS_CATALOG . 'log404.txt';
25       error_log($msg, 3, $logfile);
26    }
27 }
28  
29 function xen_encode_product_name($str) {
30    $str strtolower(preg_replace('/[^a-z0-9 ]/i'''$str));
31    $str strtolower(preg_replace('/\W+/''-'$str));
32  
33    while (strpos($str'--') !== false) {
34       $str str_replace('--''-'$str);
35    }
36  
37    return trim($str'-');
38 }

上面的301跳转代码的思路是:首先,根据数据库中的Product ID, Product Name,来组合成一个实际的URL。然后,和用户请求的URL比较,如果两者不相等,则执行301跳转。另外增加了一些调试log,分别是网站根目录下的log301.txt, log404.txt,这样可以方便检测到301跳转的正确与否。对于不存在的产品URL,也记录在日志中了。不需要的时候,可以注释掉。

为了减小对Zen Cart性能的影响,可以在一段时间过后,去掉301跳转这部分逻辑。只需要修改开关变量,如下:

1 $enable301 = false;

相关话题:

(责任编辑:好模板)
顶一下
(0)
0%
踩一下
(0)
0%
------分隔线----------------------------
栏目列表
热点内容