静态解决ECshop实现URL重写伪静态和全静态

伪静态  时间:2021-02-08  阅读:()

ECshop 2.7.2实现简单URL重写-伪静态及全静态

*一、找到Ap ac he服务器

1、首先您需要找到 Ap ache安装目录之后找到conf目录下的http d.conf文件。

2、将下面的代码复制到 http d.c onf文件中注意将/ecs hop替换为您的商店的实际

安装目录。

<Directory/ecshop>

Options FollowSymLinks

AllowOverride All

</Direc tory>

3、在http d.conf中搜索Lo adModule rewrit e_mo dule将该行前面的#号删除。如果您的Ap ache是1.3.x版本还需要查找Ad dMo dule mo d_rewrite.c  请将前面的#删除。

4、保存httpd.conf。

5、将ec shop目录下的htacc ess.txt重命名为.htacc ess (windows下用记事本打开然后另存为为.htaccess 。 )

6、重新启动Ap ac he。

7、进入ec shop管理中心->商店设置将URL简单重写设置为启用。

如果您想通过httpd.conf来设置重写规则请按照下面的步骤操作

1、执行上面第1-3步操作。

2、找到您的商店所在的虚拟主机段如

Do cumentRo ot"D:/php/xampp/htdocs"

#

# Each directory to which Apache has access can be configured with respect

# to which services and features are allowed and/or disabled in that

# directory(and its subdirectories).

#

# First,we configure the"default" to be a very restrictive set of

# features.

3、将下面的内容加入在此段代码后面。

<IfMo dule mo d_rewrite.c>

RewriteEngine On

Rewr iteRu le

RewriteRule A(.*)/c ategory$[L] $1/index.php

RewriteRule A(.*)/feed-c([0-9]+).xml$ $1/feed.php?cat=$2 [L]RewriteRule A(.*)/feed-b([0-9]+).xml$ $1/feed.php?bra nd=$2 [L]RewriteRule A(.*)/feed.xml$ $1/feed.php

Rewr iteRu le

A(.*)/category-([0-9]+)-b([0-9]+)-min([0-9]+)-max([0-9]+)-attr([A-]*)-([0-9]+)-(.+)-([a-zA-Z]+)(.*)\.html$$1/category.php?id=$2&brand=$3&pric e_min=$4&pric e_max=$5&filter_attr=$6&p age=$7&s ort=$8&order=$9[QSA,L]Rewr iteRu le

A(.*)/c ategory-([0-9]+)-b([0-9]+)-min([0-9]+)-max([0-9]+)-attr([A-]*)\.html$$1/c ategory.php?id=$2&brand=$3&pric e_min=$4&pric e_max=$5&filter_attr=$6

[QSA,L]

Rewr iteRu le

A(.*)/c ate gory-([0-9]+)-b([0-9]+)-([0-9]+)-(.+)-([a-zA-Z]+)(.*)\.html$$1/c ategory.php?id=$2&brand=$3&p age=$4&s o rt=$5&o rd er=$6[Q S A,L]

A(.*)/category-([0-9]+)-b([0-9]+)-([0-9]+)(.*)\.html$$1/category.php?id=$2&b rand=$3&p age=$4[Q S A,L]RewriteRule

A(.*)/category-([0-9]+)-b([0-9]+)(.*)\.html$

$1/c atego ry.p hp?id=$2&b rand=$3 [Q S A,L]RewriteRule

A(.*)/category-([0-9]+)(.*)\.html$

[QSA,L]

RewriteRule $1/c ategory.php?id=$2A(.*)/goods-([0-9]+)(.*)\.html$

[QSA,L]

RewriteRule $1/go o ds.php?id=$2A(.*)/article_cat-([0-9]+)-([0-9]+)-(.+)-([a-zA-Z]+)(.*)\.html$ &sort

=$4&o rd er=$5[Q S A,L]

RewriteRule $1/artic le_c at.php?id=$2&p age=$3A(.*)/article_cat-([0-9]+)-([0-9]+)(.*)\.html$e=$3 [Q S A,L]RewriteRu le

A(.*)/article_cat-([0-9]+)(.*)\.html$ $1/article_cat.php?id=$2&pag[QSA,L]

RewriteRule

A(.*)/article-([0-9]+)(.*)\.html$ $1/article_cat.php?id=$2

$1/article.php?id=$2Rewr iteRu le

[QSA,L]

RewriteRule A(.*)/brand-([0-9]+)-c([0-9]+)-([0-9]+)-(.+)-([a-zA-Z]+)\.html$1/b rand.p hp?id=$2&c at=$3&p age=$4&s o rt=$5&o rd er=$6[Q S A,L]

RewriteRule A(.*)/brand-([0-9]+)-c([0-9]+)-([0-9]+)(.*)\.html$1/b rand.p hp?id=$2&c at=$3&p age=$4[Q S A,L]

RewriteRule A(.*)/brand-([0-9]+)-c([0-9]+)(.*)\.html$1/b rand.p hp?id=$2&c at=$3 [Q S A,L]

Rewr iteRu le

$1/b rand.p hp?id=$2[Q S A,L]

RewriteRule A($1/s earc h.p hp?keywo rd s=$2[Q S A,L]

Rewr iteRu le

A(.*)/s natch-([0-9]+)\.html$

Rewr iteRu le

A(.*)/group_buy-([0-9]+)\.html$

A(.*)/auc tio n-([0-9]+)\.html$w&id=$2[QSA,L]

</I fMo dule> $1/auc t io n.p hp?ac t=vie

U*)/bra nd-([0-9]+)(.*)\.html

通过这种方法可以实现 EC shop URL简单重写达到伪静态的目的。

ECshop 2.7.2实现简单URL重写-全静态ec s hop生成静态

2010-09-0421:14ec s hop是一个很不错的网店系统现在很多公司都在用它 它本身优化也很好 不过因为是网店很多东西都是动态的所以对优化来说不怎么好不过庆幸的是它可以伪静态。 并且有两种重写方法在后台的商店设置中可以选择简单重写和复杂重写。

伪静态已经基本上可以满足大部分人的需求 如果不满足的还可以根据前面的一篇文章对重写规则进行修改 以满足自己的需求。

但是本文所要描述的是根据EC S HOP内在的一些代码我们生成纯静态的网页使系统更好的优化。在这里我们先对首页进行纯静态生成。

1.复制首页index.php为index_html.php  因为EC S HOP是使用S MARTY模板引擎的所以我们可以使用SMARTY生成文件函数把模板

的静态网页输出。

在首页中 $s marty->dis p lay('ind ex.dwt',$c ac he_id);有这一句说明是把网页显示出来现在我们把它改成如下代码(参看注释)

$file='ind ex.html';//静态网页文件名

$c o ntent=$GLO BALS['s marty']->make_html('index.dwt');//根据index.dwt模板生成网页内容$file name=ROOT_PATH. $file;//静态网页路径file_put_contents($filename,$c ontent);//生成文件

以上几条简单的语句 我们就可以生成首页的静态网页。 同理 我们可以生成产品类别和产品的静态网页整个系统的静态化就完成了。

首页静态页面生成后 我们接下来要生成的是产品类别的静态页面 页面 我的想法是把产品类别

保存在跟目录下这样虽然会比较乱 但是比较适合优化 因为一般搜索引擎抓取的时候只抓取二到三层。把产品类别放在根目录 体现产品类别的重要性易于搜索引擎的抓取另外一方面我们可以把产品放在下个目录中。

类似代码

$filename=build_uri('c ategory',array('c id'=>$c atinfo['c at_id']));// 构造路径这个可以选择自己喜欢的构造方法

$c ontent=$GLOBALS['smarty']->make_html('c ategory.dwt');//产生静态页面内容$filename=ROOT_PATH.$filename;//生成文件路径在根目录下file_put_contents($filename,$c ontent);//输出

产品的静态页面代码

$go o dinfo=get_all_go o ds info($go o ds_id);

$c at_name=$go odinfo['c at_name'];

$go o ds file=build_uri('go o ds',array('gid'=>$go ods_id));

$content=$GLOBALS['smarty']->make_html('goods.dwt');

$html_tempdir=(ROOT_PA TH.$cat_name. '/'); if(!is_dir($html_tempdir))//生成产品目录

{mkdir($html_tempdir);

}

$htmlfilename=ROOT_PATH. $goods file;file_put_contents($htmlfilename,$c ontent);

我的是使用类别名称加下划线 function build_uri( )case'category' :

$c at_name=$GLOBALS['db']->getOne('S ELECT c at_name FROM$GLOBALS['ecs']->table('c ategory') . "WHEREcat_id='$cid'");

$ur i=$c at_name. '-' . $c id;if(!emp ty($p age))

{

$uri .='-' . $p age;

:

$go o ds_info=$GLOBALS['db']->getRow('S ELECT g.goods_name,c.c at_name FROM

$GLOBALS['ecs']->table('goods') . "as g left join" .

$GLOBALS['ecs']->table('category') . "as c on c.cat_id=g.cat_id WHERE g.goods_id='$gid'");$goods_name=$go o ds_info['go ods_name'];

$c at_name=$c at_name;

$ur i=$c at_name. '/' . $good s_name. '-' .$gid;

RackNerd :美国大硬盘服务器促销/洛杉矶multacom数据中心/双路e5-2640v2/64G内存/256G SSD+160T SAS/$389/月

大硬盘服务器、存储服务器、Chia矿机。RackNerd,2019年末成立的商家,主要提供各类KVM VPS主机、独立服务器和站群服务器等。当前RackNerd正在促销旗下几款美国大硬盘服务器,位于洛杉矶multacom数据中心,亚洲优化线路,非常适合存储、数据备份等应用场景,双路e5-2640v2,64G内存,56G SSD系统盘,160T SAS数据盘,流量是每月200T,1Gbps带宽,配5...

Dataideas:$1.5/月KVM-1GB/10G SSD/无限流量/休斯顿(德州)_主机域名

Dataideas是一家2019年成立的国外VPS主机商,提供基于KVM架构的VPS主机,数据中心在美国得克萨斯州休斯敦,主机分为三个系列:AMD Ryzen系列、Intel Xeon系列、大硬盘系列,同时每个系列又分为共享CPU和独立CPU系列,最低每月1.5美元起。不过需要注意,这家没有主页,你直接访问根域名是空白页的,还好他们的所有套餐支持月付,相对风险较低。下面以Intel Xeon系列共...

racknerd新上架“洛杉矶”VPS$29/年,3.8G内存/3核/58gSSD/5T流量

racknerd发表了2021年美国独立日的促销费用便宜的vps,两种便宜的美国vps位于洛杉矶multacom室,访问了1Gbps的带宽,采用了solusvm管理,硬盘是SSDraid10...近两年来,racknerd的声誉不断积累,服务器的稳定性和售后服务。官方网站:https://www.racknerd.com多种加密数字货币、信用卡、PayPal、支付宝、银联、webmoney,可以付...

伪静态为你推荐
微信如何建群微信怎么建群?伪静态什么是伪静态http与https的区别http和https到底有什么区别啊???中小企业信息化中小企业信息化途径有哪些godaddyGO DADDY服务器空间域名怎么样保护气球气球保护液可以用什么来代替?创维云电视功能创维电视怎么用,我买了个创维云电视,现在不知道怎么用手机往电视上传照片,谁能解答以下,srv记录如何验证是否为域控制器创建了 SRV DNS 记录blogcn南京明城墙(太平门一带某些地区)的城砖上为什么会有一些小洞(每块砖两个洞洞……)?Qzongqzong皮肤上怎样写字
国内最好的虚拟主机 中文域名注册 安徽双线服务器租用 抗投诉vps主机 最新代理服务器地址 域名备案只选云聚达 荣耀欧洲 locvps 狗爹 vultr美国与日本 美国主机网 外国空间 台湾谷歌网址 个人空间申请 中国智能物流骨干网 静态空间 129邮箱 免费全能主机 广州服务器 重庆双线服务器托管 更多