分类目录

文章标签

相关资讯

热门推荐

opencart写法,magento重定向

2022-10-25 11:18:06 - 米境通

    

    首先说说301和302重定向

    在网站当中由于我们的一些操作导致原来的链接不能访问了,如域名变更了或者目录被删除了,为了不网站的排名因为网址的变化而收到影响,原来的链接能够访问,我们就需要对原来的链接进行重定向到新的地址。

    301和302有什么区别

    302重定向是暂时的重定向,搜索引擎会抓取新的内容而保留旧的网址。因为服务器返回302代码,搜索引擎认为新的网址只是暂时的。

    301重定向是永久的重定向,搜索引擎在抓取新内容的同时也将旧的网址替换为重定向之后的网址。

    而实现301和302重定向的方法也有很多种

    一般我们都会在.htaccess文件中增加301重定向指令还有header头部增加重定向代码、修改服务器配置等方法

    现在我们就说说magento的重定向。

    magento是自带重定向功能的

    如果我们运营的网站需要重定向怎么办,数据那么多我们不可能说一个一个产品来修改吧,那么我们可以通过mysql操作来做magento重定向。

    上代码

    首先查出你的产品类型ID

    selectentity_type_idfromeav_entity_typewhereentity_type_code='catalog_product';

    我这里查到的产品类型ID是4,接着再查找产品的属性值

    selectattribute_id,backend_typefromeav_attributewhereentity_type_id=4andattribute_codein('name','url_key','url_path','visibility');

    此时查出分别是719798102

    这里我们先创建一个临时表保存core_url_rewrite表里的数据,tmp_table即我建的临时表。

    insertintotmp_table

    ('url_rewrite_id','store_id','category_id','product_id','id_path','request_path','target_path','is_system','options','description')

    select'url_rewrite_id','store_id','category_id','product_id','id_path','request_path','target_path','is_system','options','description'fromcore_url_rewritewhereis_system=1andoptionsisnull;

    在这里我们可以验证一下产品的数量是否对得上,以免造成失误。

    selectcount(*)fromcatalog_product_entitywherestore_id=1

    selectcount(*)fromcore_url_rewritewhereis_system=1andproduct_idisnotnullgroupbyproduct_id

    更新core_url_rewrite表里的request_path(这里我不光只是做重定向,我还把产品的url改成了以产品名字中间用-链接来访问)

    Update

    core_url_rewritea

    joincatalog_product_entity_varcharbona.product_id=b.entity_idandb.attribute_id=71andb.entity_type_id=4andb.store_id=0

    joincatalog_product_entity_varcharcona.product_id=c.entity_idandc.attribute_id=97andc.entity_type_id=4andc.store_id=0

    joincatalog_product_entity_intdona.product_id=d.entity_idandd.attribute_id=102andd.entity_type_id=4andd.store_id=0andd.value!=1

    seta.request_path=replace(a.request_path,c.value,concat(ClearStr(b.value),'-',b.entity_id))wherea.product_idisnotnull;

    SlearStr是我自己定义的一个函数

    更新产品的url_key

    上面我们有查到url_key和这个值的类型,那么产品的url_key就存储在对应的表里。特别说一下magento的产品是纵向存储的。

    Update

    catalog_product_entity_varchara

    joincatalog_product_entity_varcharbona.entity_id=b.entity_idandb.attribute_id=71andb.entity_type_id=4andb.store_id=0anda.attribute_id=98anda.entity_type_id=4anda.store_id=0

    seta.value=concat(ClearStr(b.value),'-',b.entity_id,'.html');

    再更新url_path

    updatetmp_tablea

    joincore_url_rewriteb

    ona.product_id=b.product_idanda.store_id=b.store_idanda.id_path=b.id_path

    seta.target_path=b.request_path

    whereb.product_idisnotnull
相关问答:
关于我们:
东南亚跨境电商shopee erp软件哪个最好用?推荐米境通erp是专业的虾皮电商erp软件,包含:shopee刊登、上货/铺货、采集、数据分析、订单批量管理、云仓、代发货等功能,支持免费试用。详细案例认准米境通品牌。
目录:首页 | 虾皮erp功能 | 虾皮电商物流 | 卖家免费体验 | shopee开店资讯
南京天遥路联网络科技有限公司 版权所有,苏ICP备15044100号-8