php168分类信息多城市版高级伪静态的实现
前几天过来分享了一下这几年兼做二手分类信息网站的心路历程,收到了不错的反响,很多站长朋友加我QQ或发来邮件,询问mymps和php168分类系统的相关问题。为了方便大家使用,特写此文,介绍一下php168多城市域名和高级伪静态的实现方法(类似58同城与赶集网那样的形式)。
其实官方在后台的“伪静态设置”里面做了一大篇的说明和规则,照理说实现起来不难。但问题就出在那儿,官方说明是有错误的,按部就班的执行起来会出错,这样对于大多不喜欢自己去研究的朋友或者新手站长来说,顿时就手足无措,不知道该怎么办了。下面我们就顺着官方说明的步骤,逐一解释。
官方说明第一条:要使用伪静态的话,你需要修改apache或IIS的配置文件,如果是单城市版就添加"单城市版伪静态规则",如果是多城市版就添加"多城市版伪静态规则"
我的说明:这是肯定要做的,但不是现在做,是留在后面做,而且也不能用他提供的规则。
官方说明第二条:单城市版注意事项: 想使用高级伪静态的话,首先必须要确认分类栏目的目录名第一个字母是大写.否则会出错,无法访问网页.
我的说明:本文讨论多城市版,也未用单城市版试验。但我想,既然是用这个系统,就很少有人会用单城市版的吧,故略过。
官方说明第三条:多城市版注意事项:如果你想实现城市域名,那必须要在域名管理商那里设置一个泛域名*.2pcw.cn指向到当前服务器的IP,一般设置后不会马上生效,要等一段时间.
我的说明:这个必须有。建议是用dnspod,设置后立即生效。
官方说明第四条:启用伪静态前,请点击头部菜单"分类目录批量生成标准目录名",一次性把所有分类栏目生成标准的目录名.这不会创建目录,只是更新数据库.
我的说明:官方此举是防止出现数据库里没有这个栏目目录名,伪静态时地址为空的错误。但这条不要去做,会把你自己辛辛苦苦设置的分类目录全部替换掉。因每个栏目我们都会手工修改名称、英文目录名、标题、关键词、描述等等,就已经更新过数据库,不会出错了。
官方说明第五条:如果是多城市版,启用伪静态前,你还要点击头部菜单"城市批量生成目录文件",一次性把所有城市生成目录文件.每个城市都会生成一个单独的目录.
我的说明:这步是必须的。如果添加了城市,也要生成。
经测试不能正常使用的官方apache规则如下:
RewriteRule ^/([^\/]+)/f([^\/]+)\.([a-zA-Z0-9]+)$ /bencandy\.php\?Fid=$1&Id=$2
RewriteRule ^/([^\/]+)/$ /list\.php\?Fid=$1
RewriteRule ^/([^\/]+)/([^\/]+)/$ /list\.php\?Fid=$2&zone_street=$1
RewriteRule ^(.*)/(list|bencandy)-([^\/]+)\.([a-zA-Z0-9]+)$ $1/$2\.php\?stringID=$3
经修改测试可正常使用的规则如下(演示地址):
RewriteRule ^([-_0-9a-zA-Z]+)/f([-_0-9a-zA-Z]+)\.html$ /bencandy.php?Fid=$1&Id=$2RewriteRule ^([-_0-9a-zA-Z]+)/$ /list.php?Fid=$1
RewriteRule ^([-_0-9a-zA-Z]+)/page([0-9]+)/$ /list.php?Fid=$1&page=$2
RewriteRule ^([-_0-9a-zA-Z]+)/([-_0-9a-zA-Z]+)/$ /list.php?Fid=$1&zone_street=$2
RewriteRule ^([-_0-9a-zA-Z]+)/([-_0-9a-zA-Z]+)/page([0-9]+)/$ /list.php?Fid=$1&zone_street=$2&page=$3
需要说明的是,默认的分页是这样的:/diannao/,/diannao-page-1/,/diannao-page-2/,这样很不好,不利于栏目SEO,需要修改为:/diannao/,/diannao/page1/,/diannao/page2/,伪静态规则已经在上面列出,还需要在程序里,构造分页地址那修改过来。
有的可能会说,现在做多城市的分类信息还有前途吗,谁能竞争过58和赶集啊。我认为是,大而全的不行,小而精的总可以做一做,专注于某一个小的分类再细分下去,还是可以赚点流量的,二手电脑网就是使用多城市版建立。最后祝大家五一假期耍好。