最近公司新上的网站被seo指出要修改url,去掉url中产品id。由于我们用的是zencart框架,装了 Ultimate SEO URLs 插件,所以在网上应该有这方面的资料,本文主要参考资料:

原网址:修改seo url中去掉产品id的方法(有更新)

原文只介绍了修改产品页,我在修改过程中一并把分类页也进行了修改,下面为原文修改产品页内容,其中有些错误用红色字体更正。

以前用Ultimate SEO URLs模块 产品地址是这样的

http://www.xxx.com/产品名-p-101.html
通过下面方法我们改成这样的格式
http://www.xxx.com/产品名/

1.includes/init_includes/init_category_path.php(原先是includes/modules/pages/product_info/header_php.php 但不能引用到导航)
头部添加
if(zen_not_null($_GET['products_name'])){
$products_id_query=$db->Execute("select products_id from ".TABLE_PRODUCTS_DESCRIPTION.' where products_name="'.str_replace("-"," ",$_GET['products_name']).'"');
if($products_id_query->RecordCount()>0)
$_GET['products_id']=$products_id_query->fields['products_id'];
}
2.includes/classes/seo.url.php
约401行查找
$url = $this->make_url($page, $this->get_product_name($p2[1]), $p2[0], $p2[1], '.html', $separator);
替换为
$url = $this->make_url($page, $this->get_product_name($p2[1]),'', '', '/', '');

此处替换为:$url = $this->make_url($page, $this->get_product_name($p2[1]), '', '', '.html', $separator);
3.htaccess
查找
RewriteRule ^(.*)-p-(.*).html$ index\.php?main_page=product_info&products_id=$2&%{QUERY_STRING} [L]
替换为
RewriteRule ^(.*)\/$ index\.php?main_page=product_info&products_name=$1&%{QUERY_STRING} [L]

注意事项
1.产品名中不能出现- 可用空格来表示
2.产品名不能重复
3.类似后台admin这种的 必须要直接访问文件了 比如http://www.xxx.com/admin/index.php

-----------------------------更新分割线-----------------------------------------
有人问怎么样才能显示成http://www.xxx.com/目录名/产品名/ 这样的方式
修改方法如下
1.includes/init_includes/init_category_path.php(原先是includes/modules/pages/product_info/header_php.php 但不能引用到导航)
头部添加
if(zen_not_null($_GET['products_name'])){
$products_id_query=$db->Execute("select products_id from ".TABLE_PRODUCTS_DESCRIPTION.' where products_name="'.str_replace("-"," ",$_GET['products_name']).'"');
if($products_id_query->RecordCount()>0)
$_GET['products_id']=$products_id_query->fields['products_id'];
}
2.includes/classes/seo.url.php
约401行查找
$url = $this->make_url($page, $this->get_product_name($p2[1]), $p2[0], $p2[1], '.html', $separator);
替换为
$url = $this->make_url($page, zen_get_categories_name_from_product($p2[1]).'/'.$this->get_product_name($p2[1]),'', '', '/', '');

3..htaccess
查找
RewriteRule ^(.*)-p-(.*).html$ index\.php?main_page=product_info&products_id=$2&%{QUERY_STRING} [L]
替换为
RewriteRule ^(.*)\/(.*)\/$ index\.php?main_page=product_info&products_name=$2&%{QUERY_STRING} [L]
注:这次后台就可以直接访问了 当然有两级目录的话就不行。

转载于:https://blog.51cto.com/leezhxing/1282790

zencart分类页产品页去掉url中的id号相关推荐

  1. 网页访问服务器默认什么端口号,URL中没有端口号默认为80?详解IT产品必须熟知的访问地址概念!...

    原标题:URL中没有端口号默认为80?详解IT产品必须熟知的访问地址概念! 作为一个互联网产品经理,你可能每天打开几十个网页,但你有没有观察过他们的网址? 作者带你庖丁解牛并把网址拆开.标准URL地址 ...

  2. wordpress去掉index.php,wordpress去掉url中index.php 创建分类目录404如何解决

    wordpress主题是建设个人博客的首选,便利简洁.今天整理2个wp建站过程中常遇到的两个问题,整理了下来.相信很初用wp的伙伴都遇到这样的问题,url中包含index.php,这样的url很不美观 ...

  3. php 去掉url中的index.php,php 去掉url中的index.php

    php去掉url中的index.php的方法:首先打开相应的代码文件:然后将if代码块嵌套在server代码块中:最后重启nginx服务器即可. 本文操作环境:nginx1.0.4系统.PHP7.1版 ...

  4. url去除掉一个参数php,php怎样去掉url中的参数_后端开发

    php去掉url中的参数的要领是:能够经由过程trim()函数来完成.该函数能够删除字符串中的指定字符,并返回已修正的字符串.细致使用要领如:[trim($url,"?");tri ...

  5. codeigniter:去掉 URL 中的 index.php

    去掉 URL 中的 index.php 首先,你要清楚自己的 Web 服务器是 Apache,支持 mod_rewrite,并且已经配置好 rewrite 相关的参数. 什么是 rewrtie 可以 ...

  6. LaTeX技巧009:去掉图片标题中的‘:’号

      本次实现的功能就是去掉标题中的':'号. 实现代码 %Tex program = xelatex %software = TexLive 2015 %blog = http://blog.csdn ...

  7. 去掉字符串中多余的 - 号

    将一字符串复制至另一字符串,要求去掉字符串中多余的 - 号: 无论有几个 - 号,都输出为1个 - 号. public class Test {public static void main(Stri ...

  8. ASP.NET MVC Url中带点号出现404错误的解决方案

    ASP.NET MVC Url中带点号出现404错误的解决方案 参考文章: (1)ASP.NET MVC Url中带点号出现404错误的解决方案 (2)https://www.cnblogs.com/ ...

  9. 学生id号码是什么意思_学生学籍中的ID号是学籍号吗?

    展开全部 学生学籍中的ID号就是学籍号.e69da5e887aa62616964757a686964616f31333431356664 学籍号长度:16位. 学籍号字符:开头1位字母和0至9的数字. ...

最新文章

  1. 操作系统 第一章【操作系统引论】【MOOC答案】
  2. Spark Java API:broadcast、accumulator
  3. SAP Spartacus界面注册用户获取OAuth Access Token的方式
  4. Oracle数据库入门——常用的数据字典
  5. 使用VS2005进行负载测试
  6. 工作172:自己工作开始封装的一个小组件
  7. 为什么搜索与推荐场景用AUC评价模型好坏?
  8. 学习全球最火编程语言Python,要读哪些书?
  9. silklabo哪个公众号有资源_适合新手的公众号投稿资源大整合!
  10. 折扇的保养方法是什么?
  11. 前端见微知著AngularJS备忘篇:温故而知新,可以为师矣
  12. selenium自动化之元素高亮显示
  13. 联想E430c:To interrupt normal starup,press enter问题解决方法
  14. Java 多态性理解
  15. 本特利电源模块3500/15-05-05-00
  16. 极限的性质(汤家凤B站的学习笔记)
  17. android 手机开门,智灵开门(智灵开门app)V5.0.2 安卓版
  18. react应用结构框架图
  19. 74HC161异步计数器仿真示例
  20. wireshark抓包使用与过滤方法

热门文章

  1. 数据结构之【栈】的基本操作C语言实现
  2. iOS 图片处理-图片旋转和裁剪
  3. 1小时学会:最简单的iOS直播推流(六)h264、aac、flv介绍
  4. uniapp富文本兼容视频实现方案
  5. iOS HitTest 机制
  6. vim常用命令总结 (转)
  7. Redis 笔记系列(十一)——Redis的发布和订阅机制
  8. 如果有电脑——计算机达人成长之路(36)
  9. 设计模式系列·抽象工厂模式
  10. [译] ASP.NET 生命周期 – ASP.NET 上下文对象(六)