故事博客

故事博客
一个崭新的开始

让DEDE的文章和列表使用二级域名,实现千万级子站点(dede泛站群实现方法)

让DEDE的文章和列表使用二级域名,据说这样的SEO效果比较好。这里的比较好,并不是一定说文章收录得就多,就快,而是说权重可能会高一点,收录稳定一点。

但有朋友说,这样的效果做出来,收录会慢一些。

1,要求IIS支持rewrite或者Apache支持mod_rewrite

2,没有独立服务器则要求支持.htaccess

3,一个能做泛解析的域名

第一步,将咱的域名泛解析过来,就是*.domain.cn解析到服务器,

接下来做第二步,将.htaccss上传到网站根目录,实现二级域名的转发,并禁止人访问以前的html页面,因为相同的内容可能会造成被K的杯具。

<IfModule mod_rewrite.c>
    RewriteEngine On
    RewriteCond %{HTTP_HOST} [^.]+\.domain\.cn$
    RewriteCond %{HTTP_HOST} !^[a-zA-Z]{1,3}\.domain\.cn$
    RewriteCond %{HTTP_HOST} !^(admin|blog|www)\.domain\.cn$
    RewriteRule ^/?$ %{HTTP_HOST} [NC]
    #将12345.domain.cn的请求重写到 domain.cn/content.12345.html
    RewriteRule ^(\d+)\.domain\.cn$ /content/$1.html [C]
</IfModule>
<FilesMatch (.*)\.html$>
    #使用了二级域名,以前的htm文件就不要让人访问了
    order allow,deny
    deny from all
</FilesMatch>

接下来做程序的修改。这得分2种情况。

文章不多,生成静态那可以直接用rewrite实现

如果文章很多,那可以使用伪静态来实现,这很简单;但如果想生成静态文件,那得做一点伤筋动骨的事情。

额,手痛,写了一天代码,才发现坚持写博也是一件考验人的事情。

程序修改涉及到channelunit.func.php中栏目地址和文章地址的生成函数,以下列出修改方法。

//获得文章网址
/*************************************************
如果要获得文件的路径,直接用
GetFileUrl($aid,$typeid,$timetag,$title,$ismake,$rank,$namerule,$typedir,$money)
即是不指定站点参数则返回相当对根目录的真实路径
**************************************************/
function GetFileUrl($aid,$typeid,$timetag,$title,$ismake=0,$rank=0,$namerule='',$typedir='',
$money=0, $filename='',$moresite=0,$siteurl='',$sitepath='')
{
    return "http://{$aid}.{$GLOBALS['cfg_siteurl']}/";
}
//获得指定类目的URL链接
//对于使用封面文件和单独页面的情况,强制使用默认页名称
function GetTypeUrl($typeid,$typedir,$isdefault,$defaultname,$ispart,$namerule2,$moresite=0,$siteurl='',$sitepath='')
{
    global $cfg_typedir_df;
    return "http://list{$typeid}.{$GLOBALS['cfg_siteurl']}/";
}

将栏目和文章的地址替换以后,功能基本上完成。接下来的工作是给文章分页做处理,结果发现这个效果实现起来真是挺难,技术不到位,只能先安于现状,等待更新。

分享到: 更多()
织梦DEDECMS首页、列表页调用文章TAG标签的方法代码示例 织梦DEDECMS首页、列表页调用文章TAG标签的方法代码示例
« 上一篇05-09
DEDECMS修改默认文章和列表命名规则 DEDECMS修改默认文章和列表命名规则
« 下一篇05-09
说点什么吧
  • 全部评论(0
    还没有评论,快来抢沙发吧!