2010年8月14日 | 分类: WordPress | 标签: , , , ,

在实际应用中遇到过两次js加载不完全的情况,js只加载固定的长度后面就不加载了。开始以为是程序问题,但是程序拿到别的服务器下面就能完全加载了。分析问题只可能是出在服务器的配置上。
一次是在nginx服务器上,因为gzip压缩造成的,把gzip关了就好了,到底是哪个配置出了问题还是不是很清楚。

一次是在apache服务器上,apache的配置文件中有个EnableSendfile这个选项,这个选项是被注释的,默认值为On,去掉注释 EnableSendfile off以后,重启apache服务器就行了。

还有一个选项 EnableMMAP,默认也是On。

关于这两个选项的说明:
EnableMMAP 指令
说明 在递送中使用内存映射(memory-mapping)来读取文件
语法 EnableMMAP On|Off
默认值 EnableMMAP On
作用域 server config, virtual host, directory, .htaccess
覆盖项 FileInfo
状态 核心(C)
模块 core
此指令指示httpd在递送中如果需要读取一个文件的内容,它是否可以使用内存映射。当处理一个需要访问文件中的数据的请求时,比如说当递送一个使用mod_include进行服务器端分析的文件时,如果操作系统支持,Apache将默认使用内存映射。
这种内存映射有时会带来性能的提高,但在某些情况下,您可能会需要禁用内存映射以避免一些操作系统的问题:
在一些多处理器的系统上,内存映射会减低一些httpd的性能。
在挂载了NFS的DocumentRoot上,若已经将一个文件进行了内存映射,则删除或截断这个文件会造成httpd因为分段故障而崩溃。
在可能遇到这些问题的服务器配置过程中,您应当使用下面的命令来禁用内存映射:
EnableMMAP Off
对于挂载了NFS的文件夹,可以单独指定禁用内存映射:
EnableMMAP Off

EnableSendfile 指令
说明 使用操作系统内核的sendfile支持来将文件发送到客户端
语法 EnableSendfile On|Off
默认值 EnableSendfile On
作用域 server config, virtual host, directory, .htaccess
覆盖项 FileInfo
状态 核心(C)
模块 core
兼容性 仅在 Apache 2.0.44 及以后的版本中可用
这个指令控制httpd是否可以使用操作系统内核的sendfile支持来将文件发送 到客户端。默认情况下,当处理一个请求并不需要访问文件内部的数据时(比如发送一个静态的文件内容),如果操作系统支持,Apache将使用 sendfile将文件内容直接发送到客户端而并不读取文件。译者注:Linux2.4/2.6内核都支持。
这个sendfile机制避免了分开的读和写操作以及缓冲区分配,但是在一些平台或者一些文件系统上,最好禁止这个特性来避免一些问题:
一些平台可能会有编译系统检测不到的有缺陷的sendfile支持,特别是将在其他平台上使用交叉编译得到的二进制文件运行于当前对sendfile支持有缺陷的平台时。
在Linux上启用IPv6时,使用sendfile将会触发某些网卡上的TCP校验和卸载bug。
当Linux运行在Itanium处理器上的时候,sendfile可能无法处理大于2GB的文件。
对于一个通过网络挂载了NFS文件系统的DocumentRoot(比如:NFS或SMB),内核可能无法可靠的通过自己的缓冲区服务于网络文件。
如果出现以上情况,你应当禁用sendfile :
EnableSendfile Off
针对NFS或SMB,这个指令可以被针对目录的设置覆盖:
EnableSendfile Off

没有评论 (2 views)
2010年7月29日 | 分类: WordPress | 标签: , ,
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
<?php
/* 取得变量的名字 */
function getVarName(&$src)
{
 //存储当前变量值
 $save = $src;
 //存储所有变量值
 $allvar = $GLOBALS;
 //在函数中不要直拉遍历$GLOBALS,会出现堆栈问题
 foreach($allvar  as $k=>$v)
 {
  //变量值相同,可能不是相同变量,因多个变量的值可能相同
  if ($src == $v)
    {
   //改变当前变量$src的值
   $src = 'change';
   //如果$GLOBALS[$k]也跟着改变,那就是同一个变量。
   if ($src == $GLOBALS[$k]) 
   {
    echo "\$$k name is $k<br/>";
   }
    } 
 }
 //还原变量值
 $src = $save;
}
$test  = "helo";
$test2 = "helo";
getVarName($test);
?>
1 条评论 (5 views)
2010年7月12日 | 分类: LAMP技术 | 标签: , ,

Linux下Memcache服务器端的安装
服务器端主要是安装memcache服务器端 。
下 载:http://www.danga.com/memcached/dist/memcached-1.2.2.tar.gz
另 外,Memcache用到了libevent这个库用于Socket的处理,所以还需要安装libevent,libevent的最新版本是 libevent-1.3。(如果你的系统已经安装了libevent,可以不用安装)
官网:http://www.monkey.org/~provos/libevent/
下 载:http://www.monkey.org/~provos/libevent-1.3.tar.gz

1.分别把memcached和libevent下载回来,放到 /tmp 目录下:
# cd /tmp
# wget http://www.danga.com/memcached/dist/memcached-1.2.0.tar.gz
# wget http://www.monkey.org/~provos/libevent-1.2.tar.gz

2. 先安装libevent:
# tar zxvf libevent-1.2.tar.gz
# cd libevent-1.2
# ./configure –prefix=/usr
# make
# make install

3.测试 libevent是否安装成功:
# ls -al /usr/lib | grep libevent
lrwxrwxrwx 1 root root 21 11?? 12 17:38 libevent-1.2.so.1 -> libevent-1.2.so.1.0.3
-rwxr-xr-x 1 root root 263546 11?? 12 17:38 libevent-1.2.so.1.0.3
-rw-r–r– 1 root root 454156 11?? 12 17:38 libevent.a
-rwxr-xr-x 1 root root 811 11?? 12 17:38 libevent.la
lrwxrwxrwx 1 root root 21 11?? 12 17:38 libevent.so -> libevent-1.2.so.1.0.3
还不错,都安装上了。

4.安装 memcached,同时需要安装中指定libevent的安装位置:
# cd /tmp
# tar zxvf memcached-1.2.0.tar.gz
# cd memcached-1.2.0
# ./configure –with-libevent=/usr
# make
# make install
如果中间出现报错,请仔细检查错误信息,按照 错误信息来配置或者增加相应的库或者路径。
安装完成后会把memcached放到 /usr/local/bin/memcached ,

5. 测试是否成功安装memcached:
# ls -al /usr/local/bin/mem*
-rwxr-xr-x 1 root root 137986 11?? 12 17:39 /usr/local/bin/memcached
-rwxr-xr-x 1 root root 140179 11?? 12 17:39 /usr/local/bin/memcached-debug

memcached的基本设置:
1.启动Memcache的服务器端:
# /usr/local/bin/memcached -d -m 10 -u root -l 127.0.0.1 -p 12000 -c 256 -P /tmp/memcached.pid

-d 选项是启动一个守护进程,
-m是分配给Memcache使用的内存数量,单位是MB,我这里是10MB,
-u是运行Memcache的用 户,我这里是root,
-l是监听的服务器IP地址,如果有多个地址的话,我这里指定了本机的IP地址127.0.0.1,
-p 是设置Memcache监听的端口,我这里设置了12000,最好是1024以上的端口,
-c选项是最大运行的并发连接数,默认是1024,我这 里设置了256,按照你服务器的负载量来设定,
-P是设置保存Memcache的pid文件,我这里是保存在 /tmp/memcached.pid,

启动时如果遇到以下报错信息:./memcached: error while loading shared libraries: libevent-1.3.so.1: cannot open shared object file: No such file or directory

可以用此方法修正:
ln -s /usr/lib/libevent-1.3.so.1 /lib64/

2.如果要结束Memcache进程,执行:

# kill `cat /tmp/memcached.pid`

也可以启动多个守护进程,不过端口不能重复。
Memcache环境测试:
运行下面的php文件,如果有输出This is a test!,就表示环境搭建成功。开始领略Memcache的魅力把!
< ?php
$mem = new Memcache;
$mem->connect(”127.0.0.1″, 12000);
$mem->set(’key’, ‘This is a test!’, 0, 60);
$val = $mem->get(’key’);
echo $val;
?>

1 条评论 (2 views)
2010年5月31日 | 分类: LAMP技术 | 标签: , , ,

一.ssh 信任的建立
//用于双机直接相互传输问题免密码
1.更改两个节点上hosts文件(修改hosts权限需要进入root帐户)
[root@DELL ~]#vi /etc/hosts
///////////////////////////////////
# Do not remove the following line, or various programs
# that require network functionality will fail.
127.0.0.1 node1 node1 localhost.localdomain localhost
::1 localhost6.localdomain6 localhost6
192.168.0.154 file_server
192.168.0.153 file_server_bak
///////////////////////////////////
:wq

2.//生成ssh本机的密钥
//三次回车后完成(先切换回magic帐户)
[root@DELL .ssh]# su magic
[magic@DELL .ssh]$ cd ~
[magic@DELL ~]$ ssh-keygen -t rsa
Generating public/private rsa key pair.
Enter file in which to save the key (/home/magic/.ssh/id_rsa):
Enter passphrase (empty for no passphrase):
Enter same passphrase again:
Your identification has been saved in /home/magic/.ssh/id_rsa.
Your public key has been saved in /home/magic/.ssh/id_rsa.pub.
The key fingerprint is:
f3:84:b3:14:b8:ab:ba:e7:3a:1e:98:72:0b:4e:fe:f6 magic@DELL
[magic@DELL ~]$

3.进入到用户的主目录下,默认为root用户的主目录
#cd /root

使用ls -al 察看是否是否存在.ssh这个文件夹
可以看到两个文件
[magic@DELL ~]$ cd /home/magic/.ssh/
[magic@DELL .ssh]$ ls -al
total 20
drwx—— 2 magic magic 4096 Apr 13 21:53 .
drwx—— 6 magic magic 4096 Apr 9 01:37 ..
-rw——- 1 magic magic 1675 Apr 13 21:53 id_rsa
-rw-r–r– 1 magic magic 402 Apr 13 21:53 id_rsa.pub
-rw-r–r– 1 magic magic 395 Feb 26 01:13 known_hosts
[magic@DELL .ssh]$

其中id_rsa为私钥,id_rsa.pub为公钥。

4.登陆file_server、file_server_bak分别执行以上三步

5.
//重新登陆到file_server上
//将公钥改名,并添加到另一台电脑的公钥内。
#cd /home/magic/.ssh/
# mv id_rsa.pub ha1
//修改公钥的姓名
[magic@DELL .ssh]$ scp ha1 magic@192.168.0.153:/home/magic/.ssh/
//把公钥传输到file_server_bak上

6.
//登陆到file_server_bak上
[magic@DELL ~]$ cd /home/magic/.ssh/
[magic@DELL .ssh]$ ls
ha1 id_rsa id_rsa.pub
[magic@DELL .ssh]$ cat ha1 >> id_rsa.pub
//将file_server的密钥添加到file_server_bak的公钥中去
[magic@DELL .ssh]$ mv id_rsa.pub authorized_keys
// AuthorizedKeysFile 指令指定了用于公钥认证的公钥文件(默认 ~/.ssh/authorized_keys)位置,每行一个公钥。此文件中空行和以’#'开头的行将被当作注释忽略
//修改文件名陈为ssh可以识别的key文件authorized_keys

7.
//将密钥传回到file_server上,
[magic@DELL .ssh]$ scp authorized_keys magic@192.168.0.154:/home/magic/.ssh/

二、配置rsync

1.在file_server上安装rsync程序(大部分linux默认已经安装,此步骤可跳过)
tar -zxvf rsync-3.0.4.tar #解开压缩包
cd rsync-3.0.4
./configure –prefix=/usr/local/rsync
编译与安装
make
make install

2.在/etc下创建rsync.conf文件
vi /etc/rsyncd.conf

use chroot = no
max connections = 10
pid file = /var/run/rsyncd.pid
lock file = /var/run/rsync.lock
log file = /var/log/rsyncd.log

[file_server]
comment = replication
uid = magic
gid = magic
path = /opt/user_files
ignore errors
read .ly = no
write .ly = no
list= no
auth users = magic
secrets file = /etc/rsyncd.secrets

3.在/etc下创建/etc/rsyncd.secrets 文件
vi /etc/rsyncd.secrets
此文件格式为 用户名:密码
magic:12345678

4.在/etc/services 添加一行(默认已有,跳过)
rsync 873/tcp

5.添加环境变量,在/etc/profile添加一行(跳过)
#echo “export PATH=$PATH:/usr/local/rsync/bin” >> /etc/profile
#source /etc/profile

6.启动rsync服务
#rsync –daemon

7.让服务器开机的时候自启动
echo “rsync –daemon” >> /etc/rc.local

8.在file_server_bak上做相应的配置(以上7步)

9.在file_server上增加执行文件
vi /opt/file_auto_backup
内容如下:
#!/bin/sh

# This does file_server backup to a file_server_bak.
# directory to backup
DIR=/opt/user_files/
# the name of the primary
SERVER=file_server

##############################################

OPTS=”-rlptgoDvHS –progress –delete –force”

# now the actual transfer
rsync $OPTS magic@$SERVER:$DIR $DIR

10.添加到定时任务里
crontab -e
*/5 * * * * /opt/file_auto_backup

没有评论 (61 views)
2010年5月30日 | 分类: LAMP技术 | 标签: , ,
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
#!/usr/bin/php
<?
$url = 'http://www.robb.com.cn';
$cmd = '/usr/local/php/sbin/php-fpm restart';
 
for($i = 0; $i < 5; $i ++){
        $exec = "curl --connect-timeout 3 -I $url 2>/dev/null";
        $res = shell_exec($exec);
 
        if(stripos($res, '502 Bad Gateway') !== false){
                shell_exec($cmd);
                exit();
        }
}
?>

放到crontab里一分钟执行一次。URL和CMD根据自己的改。

没有评论 (74 views)
2010年4月13日 | 分类: 杂家杂谈 | 标签: , ,

Groupon的商业模式就是通过利用网民获取较大折扣的心理,促使他们通过网络进行有效的互动,自发为有需求的商家聚集足够的消费者,而自己则从中获得了平台的服务费,Groupon靠抽成获得利润。据说有一百多名员工,大部分都是业务员,他们的任务就是去找那些当地消费者感兴趣、利润较高的商家,就某一项产品或服务,跟他们谈一个超大的折扣,用来做团购,放在Groupon上面卖。因为折扣大吸引的眼球就多,Groupon不光吸引了消费者的眼球,同时也吸引了风投的眼球,并且获得了投资。

做网站最缺的就是盈利模式,Groupon从一开始就解决了这一点,这也是Groupon可以快速发展的重要因素。凡是做的成功的网站国内必然出现山寨版,更何况是从一开始就有盈利模式的网站呢,国内的Groupon抄袭者们也好像雨后的春笋一样一夜就冒出来许多。

因为本身Groupon有盈利模式,所以山寨Groupon从一开始就没有太多的资金负担,只要经营得当很快就能达到资金平衡,甚至是盈利,这也是Groupon山寨网站多如牛毛的原因。

因为Groupon网站每天每个地区只推出一种限购商品(部分山寨会推出多于1种商品),所以想做大做强的必须在支持的地区上做到最多最全,同时推出的商品要保持相当的品质和较高的折扣。

Groupon类网站粘性远低于SNS、微博类网站,SNS、微博类网站在国内已经有很多家,Groupon类网站由于门卡低的因素竞争会更加激烈,有一天我们将看到Groupon会成为地方门户网站的一个标配,一个功能。

下面是我收集到的山寨Groupon:
美团网:http://www.meituan.com
爱赴团:http://www.ftuan.com
拉手网:http://www.lashou.com
满座网:http://www.manzuo.com
团宝网:http://www.groupon.cn
爱爱团:http://www.aiaituan.com
慧拼网:http://www.hbh360.com
团美网:http://www.tuanmei.net
拍手网:http://www.paishou.com
KK团:http://www.kktuan.com
窝窝团:http://www.55tuan.com
24抢:http://24qiang.com
最土网:http://www.zuitu.com
淘宝-聚划算:http://ju.taobao.com
优享团:http://tuan.yoka.com
丁狗网:http://www.mydingo.com.cn
玛萨玛索:http://www.masamaso.com/group_buy.php
疯狂卖客:http://crazymike.cn

到年底会有几个还活着的呢?

1 条评论 (444 views)
2010年4月9日 | 分类: 杂家杂谈 | 标签: ,

这段时期严重犯懒,愧对我一次性买了三年的美国空间⊙﹏⊙

最近给小黑换了一块WD Scorpio Blue 500G的硬盘,加了一条2G PC8500的内存,原来的日立硬盘做了移动硬盘,新硬盘特意多留出两个分区装多系统。

上周尝试了一下mac os x,hd3470的显卡和5100的无线网卡无解,加上我在强制安装某个驱动之后造成系统无法启动,一气之下把系统格掉了,彻底放弃黑苹果的念想,老老实实把分区留给Ubuntu。

Ubuntu我是从8.04开始用的,一眼就爱上了,换了新硬盘之后还未装Ubuntu,等待10.04的到来,很期待传说中的10秒启动。现在官方已经放出了下载倒计时的图标,效果和代码如下:

Option 1 – “Change”

代码:

<script type="text/javascript" src="http://www.ubuntu.com/files/countdown/display.js"></script>

Option 2 – “Orange”

代码:

<script type="text/javascript" src="http://www.ubuntu.com/files/countdown/display1.js"></script>

Option 3 – “The lynx”

代码:

<script type="text/javascript" src="http://www.ubuntu.com/files/countdown/display2.js"></script>

Simple image (不支持javascript的可以使用这种)
Ubuntu: For Desktops, Servers, Netbooks and in the cloud
代码:

<a href="http://www.ubuntu.com/"><img src="http://www.ubuntu.com/files/countdown/static.png" width="180" height="150" alt="Ubuntu: For Desktops, Servers, Netbooks and in the cloud" border="0" /></a>

选一款喜欢的贴到你的博客里吧^_^

没有评论 (916 views)
2010年1月14日 | 分类: WordPress | 标签: , , , , , ,

最近一段发生了太多的事情,去年底CCAV的曝光让CNNIC卸磨杀驴,禁止个人注册.cn域名,当年大力推广.cn域名,甚至搞出1元域名,搞博客域名、网店域名,种种推广手段都是指向个人,同时也默许了个人注册的存在,自己没有做好监管工作却把问题全推到个人身上。政策已推出一片哗然,可是为我手里的域名担心了一阵。

工信部搞的备案也是名存实亡,牛逼的网站不备案照样开(例如cntv),个人备个案难上加难,像我这种情况是没法备案了,想备案要接入商,接入商又要求先备案再接入,从此进入死循环,我的一个同事买了一个空间,域名备案备了一个月,一年的服务期就这么白白浪费了一个月。

像我这样的一大把域名,国内的接入商谁也不给一次备这么多,一般也不用都是停放,光有域名没有接入商也没法备案,真是想守法都守不了了。

再看看国内对互联网的监管吧,看看办个网站有多难。

名称 适用范围 发证机构
ICP备案 主要是非经营性网站,任何在国内的网站都需要进行ICP备案。 工业和信息化部
BBS电子公告专项备案 BBS,SNS社区等 工业和信息化部
经营性网站备案 通过互联网向用户有偿提供信息等服务活动的经营性网站。 工商行政管理机关
广告经营许可证(网络广告经营) 经营性互联网信息服务提供者为他人设计、制作、发布网络广告的。 工商行政管理机关
网络文化经营许可证 利用互联网经营文化产品,从事互联网文化的展览、比赛等活动的。 文化部门
互联网出版许可证 经营新闻出版类电子商务业务的网站 新闻出版部门
信息网络传播视听节目许可证 开展互联网视听节目服务的网站 国家广播电影电视管理部门
互联网新闻信息服务许可证 在境内从事互联网新闻信息服务的网站 国务院新闻办公室
互联网药品信息服务资格证书 经营互联网药品信息服务的网站 国家食品药品监督管理机构
电信业务审批 主要是开办电子公告服务(BBS)论坛的网站 通信管理局
增值电信业务经营许可证 主要是提供无线增值等业务的网站 通信管理局
电信与信息服务业务经营许可证 从事电信与信息服务业务的经营单位 通信管理局
互联网卫生信息服务管理 通过开办医疗卫生网站或登载医疗卫生信息向上网用户提供医疗卫生信息的 卫生部
电子支付牌照(拟出台) 网上支付、电子货币发行与清算等都在需要申报的支付清算业务范围之内 中国人民银行

一个个门卡卡在了每个站长面前,天朝的做法完全是在扼杀互联网的创新,从此以后还有哪个个人网站可以靠创新发展起来呢?学好英语吧,以后就只在墙外混了,看来我用美国的空间还是有先见之明的,价格便宜量又足。手里的.cn域名清光了就再也不碰.cn域名了。

前段时间twitter被伊朗网军黑了,让伊朗网军名声大振。刚过完元旦没几天我的博客也被黑了,虽然不是伊朗网军,但是也留了一大坨阿拉伯语,费了两天时间才清除所有留下的后门。没几天百度也被伊朗网军黑了,一天时间内百度就从大悲到大喜,因为google发了一份震撼全球的公告。有支持google的,有表示遗憾的,有看热闹的,有嘲笑的,也有阴谋论的,无论google出于什么想法出于什么目的,做出这种决定,敢于放弃每年上亿的收入,都是值得人们尊敬的。

google自己也对谈判结果比较悲观,我也是,祝google一路走好,我会翻墙去看你的。

今天白天本来就打算写点什么的,结果访问的时候打不开,用我不是很熟练的英语和客服人员沟通后发现了问题所在,原来是我的dns被人ename修改成自己的dns了,无论是出于什么原因修改总该通知我一下吧,你们这样做事是不对的,我不想多说什么,也许是因为CNNIC的压力,毕竟国内就是这样一个环境。

学好英语吧,以后在墙外做英文站。国内的一些技术大牛最近都在讨论技术移民的事情,国内的环境实在是…无话可说了。

天朝啊,你看你都做了什么啊,反省反省吧。

1 条评论 (612 views)
2010年1月14日 | 分类: 杂家杂谈 | 标签: , , ,

趣奇是一家新兴的个性卡片、名片服务商,我有幸参加了趣奇的内测,并且获得了免费制作一套个性卡片的机会。我不是专业的平面设计人员,所以自己收集了一些漂亮的图片,同时也是用了一些趣奇提供的图片,加上自己一些简单的设计,做出了这一套卡片。

几天后就收到了趣奇寄来的成品,打开包裹就眼前一亮。装卡片的盒子很有质感,表面印刷的是百家姓。

打开后看到了精美的卡片,嘻嘻^_^

再来一张全家福

现在趣奇还在内测期间,我这里还有是个邀请,想要的朋友可以留言写下邮箱,内测期间优惠20%。

4 条评论 (773 views)
2009年12月22日 | 分类: LAMP技术 | 标签: , , , ,

使用此重写规则替代官方发布的可以解决分页无法切换,显示方式出错,与百度竞价的冲突,甚至有时候出现页面找不到的情况。
此重写规则只针对IIS服务器,官方发布的apache重写规则不存在以上问题。

[ISAPI_Rewrite]

# 为了确保重写规则不影响服务器上的其他站点
# 请将下面的语句前的#号去掉,并将(?:www\.)?site1\.com改为商店所在域名

#RewriteCond %{HTTP:Host} (?:www\.)?site1\.com

RewriteRule ^(.*)/index.html(\??)(.*)$                $1/index\.php\?$3           [I]
RewriteRule ^(.*)/feed-c([0-9]+).xml(\??)(.*)$        $1/feed\.php\?$4&cat=$2     [I]
RewriteRule ^(.*)/feed-b([0-9]+).xml(\??)(.*)$        $1/feed\.php\?$4&brand=$2   [I]
RewriteRule ^(.*)/feed-type([^-]+)\.xml(\??)(.*)$     $1/feed\.php\?$4&type=$2    [I]
RewriteRule ^(.*)/feed.xml(\??)(.*)$                  $1/feed\.php\?$3            [I]

RewriteRule ^(.*)/category-([0-9]+)-b([0-9]+)-min([0-9]+)-max([0-9]+)-attr([^-]*)-([0-9]+)-(.+)-([a-zA-Z]+)(.*)\.html(\??)(.*)$   $1/category\.php\?$12&id=$2&brand=$3&price_min=$4&price_max=$5&filter_attr=$6&page=$7&sort=$8&order=$9  [I]
RewriteRule ^(.*)/category-([0-9]+)-b([0-9]+)-min([0-9]+)-max([0-9]+)-attr([^-]*)\.html(\??)(.*)$                                 $1/category\.php\?$8&id=$2&brand=$3&price_min=$4&price_max=$5&filter_attr=$6                            [I]
RewriteRule ^(.*)/category-([0-9]+)-b([0-9]+)-([0-9]+)-(.+)-([a-zA-Z]+)(.*)\.html(\??)(.*)$                                       $1/category\.php\?$9&id=$2&brand=$3&page=$4&sort=$5&order=$6                                            [I]
RewriteRule ^(.*)/category-([0-9]+)-b([0-9]+)-([0-9]+)(.*)\.html(\??)(.*)$                                                        $1/category\.php\?$7&id=$2&brand=$3&page=$4                                                             [I]
RewriteRule ^(.*)/category-([0-9]+)-b([0-9]+)(.*)\.html(\??)(.*)$                                                                 $1/category\.php\?$6&id=$2&brand=$3                                                                     [I]
RewriteRule ^(.*)/category-([0-9]+)(.*)\.html(\??)(.*)$                                                                           $1/category\.php\?$5&id=$2                                                                              [I]
RewriteRule ^(.*)/category-([0-9]+)-b([0-9]+)\.html(\??)(.*)$                                                                     $1/category\.php\?$5&id=$2&brand=$3                                                                     [I]

RewriteRule ^(.*)/goods-([0-9]+)(.*)\.html(\??)(.*)$                                   $1/goods\.php\?$5&id=$2                                 [I]
RewriteRule ^(.*)/article_cat-([0-9]+)-([0-9]+)-(.+)-([a-zA-Z]+)(.*)\.html(\??)(.*)$   $1/article_cat\.php\?$8&id=$2&page=$3&sort=$4&order=$5  [I]
RewriteRule ^(.*)/article_cat-([0-9]+)-([0-9]+)(.*)\.html(\??)(.*)$                    $1/article_cat\.php\?$6&id=$2&page=$3                   [I]
RewriteRule ^(.*)/article_cat-([0-9]+)(.*)\.html(\??)(.*)$                             $1/article_cat\.php\?$5&id=$2                           [I]
RewriteRule ^(.*)/article-([0-9]+)(.*)\.html(\??)(.*)$                                 $1/article\.php\?$5&id=$2                               [I]

RewriteRule ^(.*)/brand-([0-9]+)-c([0-9]+)-([0-9]+)-(.+)-([a-zA-Z]+)\.html(\??)(.*)$   $1/brand\.php\?$8&id=$2&cat=$3&page=$4&sort=$5&order=$6 [I]
RewriteRule ^(.*)/brand-([0-9]+)-c([0-9]+)-([0-9]+)(.*)\.html(\??)(.*)$                $1/brand\.php\?$7&id=$2&cat=$3&page=$4                  [I]
RewriteRule ^(.*)/brand-([0-9]+)-c([0-9]+)\.html(\??)(.*)$                             $1/brand\.php\?$5&id=$2&cat=$3                          [I]
RewriteRule ^(.*)/brand-([0-9]+)-c([0-9]+)(.*)\.html(\??)(.*)$                         $1/brand\.php\?$6&id=$2&cat=$3                          [I]
RewriteRule ^(.*)/brand-([0-9]+)(.*)\.html(\??)(.*)$                                   $1/brand\.php\?$5&id=$2                                 [I]
RewriteRule ^(.*)/tag-(.*)\.html(\??)(.*)$                                             $1/search\.php\?$4&keywords=$2                          [I]

RewriteRule ^(.*)/snatch-([0-9]+)\.html(\??)(.*)$                                      $1/snatch\.php\?$4&id=$2                                [I]
RewriteRule ^(.*)/group_buy-([0-9]+)\.html(\??)(.*)$                                   $1/group_buy\.php\?$4&act=view&id=$2                    [I]
RewriteRule ^(.*)/auction-([0-9]+)\.html(\??)(.*)$                                     $1/auction\.php\?$4&act=view&id=$2                      [I]
RewriteRule ^(.*)/exchange-id([0-9]+)(.*)\.html(\??)(.*)$                              $1/exchange\.php\?$5&id=$2&act=view                     [I]

RewriteRule ^(.*)/exchange-([0-9]+)-min([0-9]+)-max([0-9]+)-([0-9]+)-(.+)-([a-zA-Z]+)(.*)\.html(\??)(.*)$   $1/exchange\.php\?$10&cat_id=$2&integral_min=$3&integral_max=$4&page=$5&sort=$6&order=$7 [I]
RewriteRule ^(.*)/exchange-([0-9]+)-([0-9]+)-(.+)-([a-zA-Z]+)(.*)\.html(\??)(.*)$                           $1/exchange\.php\?$8&cat_id=$2&page=$3&sort=$4&order=$5                                  [I]
RewriteRule ^(.*)/exchange-([0-9]+)-([0-9]+)(.*)\.html(\??)(.*)$                                            $1/exchange\.php\?$6&cat_id=$2&page=$3                                                   [I]
RewriteRule ^(.*)/exchange-([0-9]+)(.*)\.html(\??)(.*)$                                                     $1/exchange\.php\?$5&cat_id=$2                                                           [I]
2 条评论 (6,348 views)
Page 1 of 231234567891020...Last »