手机浏览 RSS 2.0 订阅 膘叔的简单人生 , 腾讯云RDS购买 | 超便宜的Vultr , 注册 | 登陆
浏览模式: 标准 | 列表Tag:sablog

lnmp组件中sablog的配置纠错

lnmp是现在相对比较容易和被大家所接受的一个套装。由于我用的是Sablog所以我在设定vhost的时候就选了sablog,但是告诉我第二行出错了。

仔细检查了一下,好象确实是有这个问题,一来好象是编码也有问题,二来它copy的规则有点象是discuz的规则,和sablog系统后台中的规则不一样。所以,我根据 sablog后台中的规则进行了修正,立刻正常了。
sablog的默认规则是支持apache的rewrite的。如下:

XML/HTML代码
  1. # BEGIN Sablog-X  
  2. RewriteEngine On  
  3. RewriteBase /  
  4. # 文章  
  5. RewriteRule ^show-([0-9]+)-([0-9]+)\.shtml$ index.php?action=show&id=$1&page=$2  
  6. # 分类  
  7. RewriteRule ^category-([0-9]+)-([0-9]+)\.shtml$ index.php?action=index&cid=$1&page=$2  
  8. # 只带月份的归档  
  9. RewriteRule ^archives-([0-9]+)-([0-9]+)\.shtml$ index.php?action=index&setdate=$1&page=$2  
  10. # 用户列表、高级搜索、注册、登陆  
  11. RewriteRule ^(archives|search|reg|login|index|links)\.shtml$ index.php?action=$1  
  12. # 全部评论、标签列表、引用列表 带分页  
  13. RewriteRule ^(comments|tagslist|trackbacks|index)-([0-9]+)\.shtml$ index.php?action=$1&page=$2  
  14. # END Sablog-X  

注意那个.shtml,那是我自定义的URL后缀,所以你看我的博客的时候,都有这玩意。。。将就点了。说实话,我怀疑这个shtml对SEO有友好度,所以我才这么配置(纯属猜测)
改完后配置是这样的:

XML/HTML代码
  1. location / {  
  2.   
  3.         rewrite ^/show-([0-9]+)-([0-9]+)\.shtml$ /index.php?action=show&id=$1&page=$2 last;  
  4.         rewrite ^/category-([0-9]+)-([0-9]+)\.shtml$ /index.php?action=index&cid=$1&page=$2 last;  
  5.         rewrite ^/archives-([0-9]+)-([0-9]+)\.shtml$ /index.php?action=index&setdate=$1&page=$2 last;  
  6.         rewrite ^/(archives|search|reg|login|index|links)\.shtml$ /index.php?action=$1 last;  
  7.         rewrite ^/(comments|tagslist|trackbacks|index)-([0-9]+)\.shtml$ /index.php?action=$1&page=$2 last;  
  8. }  

其实看到没,与apache下的配置很相像,只是在最前面加了 ^/ ,然后在指向的文件前加 /
同时在最后加 last;
嗯,就这样。。。灰常方便,你换了没?

Tags: lnmp, sablog, apache, rewrite, seo

闲下来的学习

最近,明显是空了很多,于是我看了一下以前的代码,再看看网上那些开源的代码,拿来与我自己曾经写的代码进行验证这样可以了解别人的优点。知道自己的缺点在哪里。

1、xweibo,这个玩意目前很流行,腾讯也出了个iweibo,反正说白了,如果你是用接口,那无非就那么点东西。根据接口拉拉数据,你也不用关系他们的数据结构和其他的代码等。当然如果你要整合到你自己的系统里就不是这么简单啦。所以,我在看xweibo是怎么个折腾法。。。。所幸,你看xweibo的index.php文件里,被注释了很多代码那就是xweibo的一些常用方法,看看就差不多了。。。

2、sablog for Yii前台基本完成,目前已经完成:文章列表、回复列表、标签云、标签云对应文章列表,首页,侧边栏也基本完成。待完成的有:友情链接页,文章内容页,高级搜索页,搜索结果页等(文章内容页里的东西最多,有考虑象以前想过的,本博客历史上的今天,关联文章,回复,等等,太多了。。当然还要考虑预留点广告位,方便自己塞广告。文章内容,也还得考虑那些程序的语法标签,附件,缩略图。。。。唉)

通过设置,现在的Url规则也尽量与原来一致,这样我如果切换的话,几乎就可以平移了。。

大小: 57.3 K
尺寸: 458 x 376
浏览: 1522 次
点击打开新窗口浏览全图

把官方这段贴上来,http://www.yiiframework.com/doc/guide/1.1/zh_cn/topics.url。。。不是照抄就能用的,得看清楚一些符号。。黑黑

我们使用一些例子来解释网址工作规则。我们假设我们的规则包括如下三个:

array(
'posts'=>'post/list',
'post/<id:\d+>'=>'post/read',
'post/<year:\d{4}>/<title>'=>'post/read',
)
  • 调用$this->createUrl('post/list')生成/index.php/posts。第一个规则适用。

  • 调用$this->createUrl('post/read',array('id'=>100))生成/index.php/post/100。第二个规则适用。

  • 调用$this->createUrl('post/read',array('year'=>2008,'title'=>'a sample post'))生成/index.php/post/2008/a%20sample%20post。第三个规则适用。

  • 调用$this->createUrl('post/read')产生/index.php/post/read。请注意,没有规则适用。

总之,当使用createUrl生成网址,路线和传递给该方法的GET参数被用来决定哪些网址规则适用。如果关联规则中的每个参数可以在GET参数找到的,将被传递给createUrl ,如果路线的规则也匹配路线参数,规则将用来生成网址。

Tags: xweibo, iweibo, yii, sablog

typecho 一天下来的心得

自从评论里有人推荐typecho后,自己也下载了看了一下。确实,代码很漂亮,最关键的是注释是中文的。这点很让人心情愉快。虽然wordpress的英文注释也很容易懂,但毕竟不是自己的语言,总有点心里障碍。

前天晚上下载了一份看看,昨天在参考官方的一些插件的同时,自己临摹了两个。一个是搜索引擎来源关键字高亮,一个就是微博上有朋友提出的内容分页。

东西嘛。都扔在http://neatstudio.com/typecho/上面。还没有正式完成,只能算是一个测试版吧。

下面就是一些心得,希望可以给其他开发人员带来一点帮助,当然我这个只是看了一天的心得,与其他人员的相比应该是差很多了。但分享总比藏着好吧?

1、文档中Typecho::widget('Options') 错误,应当为:Typecho_Widget::widget('Widget_Options');
2、全局地址为:Typecho_Common::url('index.php', Typecho_Widget::widget('Widget_Options')->siteUrl) ,再与Router组合
3、Router,当前名称为:Typecho_Router::$current
4、针对内容做插件,需要在activate中加入:
    Typecho_Plugin::factory('Widget_Abstract_Contents')->content = array('HelloWorld_Plugin', 'parse');
    Typecho_Plugin::factory('Widget_Abstract_Contents')->contentEx = array('HelloWorld_Plugin', 'parse'); // contentEx好象是处理过的字符串。
5、针对摘要处理(摘要是用在列表中的),如同4一样,只是contentEx换 为excerptEx
    由于4、5都没有官方说明,但是,在官方的插件示例中,采用的是contentEx,而且源码中,___content和___excerpt的最后return都是有Ex的版本。(这两个函数在入口时都是先对没有Ex的的变量作了处理,具体还是需要sluke的鉴定)
6、其实4、5的功能,都能算是代码植入吧,在后台页面中,更容易被植入,比如Typecho_Plugin::factory("admin/post.php")->content = array('classname','functionname'),你只需要把源文件打开,看看哪里有能够植入的类就行了。就象post.php和page.php中都有一个richEdit,就是专门等着别人为text这个textarea进行扩展的。

Tags: typecho, wordpress, sablog, 文档, 心得

sablog 1.6小bug

有几次遇到这个bug了。不过。说来也不算太大的BUG
重现:发表博客,选择附件。
OK,你发现附件选错了,然后删除,重选附件,并插入内容,这时候应该是 localfile=2 了。

这时候发表后,你会发现附件并没有被正确的在内容中替换。而是当成附件了。

让我们重试一下吧:
[localfile=2]

图片附件(缩略图):
大小: 1.55 M
尺寸: 500 x 375
浏览: 1849 次
点击打开新窗口浏览全图

Tags: sablog, bug, 上传附件

犹豫:是否采用Yii把sablog重构

一直在犹豫,是否要重构sablog,还是说仅仅把前台的模版系统重构一下就完事。

曾经想过是采用thinkPHP或者fleaPHP(用不惯Qee),但后来有各种各样的原因,导致就没有重构。

现在,文章数据也多了,有2年的数据了,也因此想要增加一点新功能,所以就在想着是否要重构一下。否则新功能加起来就很繁琐。

同时还要考虑一下模版,因为现在的模版太挫了,很多广告位都无法设定好,不是在顶部就是在侧部,根本没有人想点,如果在中间,或许点击的次数会多一点?

当然,我需要考虑的是缓存,一直以来sablog都是用的自带的文件缓存,虽然文件数量不大,但总也占着资源,为什么不把APC开启并使用呢?呵呵。。。

可是我还要考虑的是我原先博客里的代码高亮,虽然有想过要换到synaxhilight上面,但原来的数据怎么办?我总不可能一个个的改吧?

再然后就是,如果是换系统,那又得考虑数据迁移了,现在这样的后台,我还能够接受。一旦换系统,后台我还不一定能够熟悉呢。

最后,同一文章存放多个分类。。。【被朋友说话打断了,郁闷】

反正,就是一想法。

Tags: yii, sablog, 前端, 重构

Records:14123