话说micolog 301 网址重定向

问题1:

话说去年的好多文章被伟大的G.F.W阻挡之国门外,导致访问ip迅速下降。幸好只屏蔽了部分网址,没用k掉域名,这要感谢我们伟大自由的祖国。

应对:更改被墙文章网址,并301到新网址。以对搜索引擎转移文章权重。

搭建micolog这篇文章为例。这篇文章据我判断当时被墙时属于连带,“不安全”的文章我已经“主动”删除了!

被墙的网址是:http://www.houkai.com/?p=3003  (请勿访问,会导致本博客几十秒内无法访问)

修改后的网址是 http://www.houkai.com/2009/06/18/gae-micolog.html 

下面将前者301到后者。

在blog.py里class SinglePost(BasePublicPage)类中 def get(self,slug=None,postid=None)方法下 添加如下代码:

if self.request.headers["Host"] =='www.houkai.com' and postid ==3003:
    self.redirect("http://www.houkai.com/2009/06/18/gae-micolog.html")
    return self.response.set_status(301)

另外:被墙的 http://www.houkai.com/soft 301到 http://www.houkai.com/share 代码如下:

if self.request.headers["Host"] =='www.houkai.com' and slug =='soft':
    self.redirect("http://www.houkai.com/share")
    return self.response.set_status(301)

也可以这样if postid ==3003: 和 if slug =='soft':  测试时,可以用个小点postid值。

问题2:

话说 去年用了kangzj的独立ip的反向代理之后,众多童鞋以为这是ghs,纷纷cname或A记录到本博客的ip,造成了一网站多域名的情况,当时反向链接迅速下降,幸好我在每篇日志的最后都附上了绝对链接地址,从而搜索引擎将其他网站内容判断为副本,慢慢的 反向链接数量上来了。但这样,还会对本博客博文的权重降低,所以今日决定将其他网址301到本域名

方法:来源于Qing的这篇文章

1.首页转向。在blog.py文件class MainPage的get方法 添加如下(红色部分)

class MainPage(BasePublicPage):

    def get(self,page=0):

        if self.request.headers["Host"] != 'www.houkai.com': 
           self.redirect(http://www.houkai.com/)
           return self.response.set_status(301)

2.页面和文章转向。在blog.py文件class SinglePost的get方法 添加如下(红色部分)放404前。

class SinglePost(BasePublicPage):
    @cache()
    def get(self,slug=None,postid=None):

        if postid:
            entries = Entry.all().filter("published =", True).filter('post_id =', postid).fetch(1)
        else:
            slug=urldecode(slug)
            entries = Entry.all().filter("published =", True).filter('link =', slug).fetch(1)

        if postid ==3003:
            self.redirect("http://www.houkai.com/2009/06/18/gae-micolog.html")
            return self.response.set_status(301)

        if slug =='soft':
            self.redirect("http://www.houkai.com/share")
            return self.response.set_status(301)

        if self.request.headers["Host"] != 'www.houkai.com':
            if postid:
               self.redirect("http://www.houkai.com/?p="+str(postid))
            else:
               self.redirect("http://www.houkai.com/"+slug)
            return self.response.set_status(301)

        if not entries or len(entries) == 0:
            return self.error(404)

以上也可以用self.redirect("……..", True) 一个函数代替self.redirect("…….."+slug) 和self.response.set_status(301)两个函数。

建议用notepad++显示空格和制表符进行编辑。注意:网址加了http://。测试时可先将1中的代码注释掉,上传别忘了改回来。也可以加 != 'localhost:8080' 或者 127.0.0.1:8080 把这两个本地地址排除掉。还有return不能省略,省略后虽然本地没问题,但上传后页面打算速度非常的慢。

如果你用Google的ghs,以上方法就可以了。如果你用个人的反向代理 使用你的域名代理了*.appspot.com 那么上面还要加上相应的网址。以保证youID.appspot.com可以正常访问。但这样做就不能解决问题2了,因为其他域名通过你的独立ip进而通过youID.appspot.com来访问的。所以我会临时将域名指向一个类似Google ghs的反向代理(mail.8gdns.com)。哦,别忘了先关掉启用缓存。过几天搜索引擎应该就你的301了,再启用缓存并把这部分代码注释掉。下篇博文将讨论两种方向代理的方式。

如果只需要自己的域名和appspot的话可以这样,比如我的改为:

if self.request.headers["Host"] != 'www.houkai.com' and self.request.headers["Host"] != 'hou-kai.appspot.com' and self.request.headers["Host"] !='localhost:8080' :

我用的是micolog 0.5版,没有研究新版本,有能力的可以写个插件。

相关学习:http://code.google.com/intl/zh-CN/appengine/docs/python/tools/webapp/requesthandlerclass.html

本文永久链接  http://www.houkai.com/2010/05/28/micolog-redirect-301.html
转载注明来自  HOUKAI.COM 分享家:Addthis中国

micolog反向代理的观察与思考»

«Fireworks导出透明背景png图片的方法




最新文章

您可能会喜欢

本文共有15评论

  1. 哈哈,终于更新了,话说这个咋这么像C++语言呢?

  2. 你的文章引起了我的注意,让我想起自己空间最近出现的循环重定向问题,现在解决了,现在应该能从评论的链接打开我的站了吧!微笑

  3. 那个还真强了啊,我试了一下,导致你的首页打不开了哦

  4. wfg屏蔽的不是地址,是地址里面的内容吧?如果是地址的话,你转向好像也没用。

  5. @Mucid
    我差点就犯错误了。用反向代理 一定要注意 别把被代理的也重定向到代理域名 搞成死循环!你的网站打开了大笑
    @云在天边
    我要把 超链接地址去掉流汗
    @zhiwei
    屏蔽的是网址,有些内容没问题是被别的文章牵连了。虽然在国内打不开 这个反向在国外,对谷歌来说打开速度是非常快的。对Google都是能打开的(已证实) 301当然起作用了。
    对于百度 国外应该有他的采集服务器,如果它在国内采集 那不管他了。他好像对屏蔽的文章也不怎么收录,而能打开的新地址他还会收录的 不信你搜搜文章的那篇文章。

  6. @houkai
    好像ngix有专门的错误页面,很简洁的,你也是循环重定向大笑

  7. 搬个小凳来学习。。。。

  8. 现在好多人用GAE搭建代理,GAE的前途危险哪

  9. 我也被抢了一篇,呵呵,就是那个代-理的,希望不要推荐gae奥墙教程了,整那个没什么意思~~~~现在用ssh翻也是不错的

  10. 完全看不懂的。。完了一天KOF。累都累死了。

  11. 在天朝的站长都是很不容易的

  12. 这个很实用!

  13. 既然有空间何必还折腾GAE,这不是个悖论么。

  14. 重定向这个,需要注意以前提交的图片资源啥的,我就给疏漏了

  15. @蓝冰
    呵呵 博客用gae就够了 用其他空间 可能要迁来迁去做鬼脸
    @yanpeng
    对,图片别往了,不过我现在图片和博客空间是分开的 独立的 所以只301文章就行了微笑

 

现在评论本文

5+10