Author: 芳草苑主

  • Mage_All_Latest

    Magento用Connect Manager 来管理升级文件,真得很好。但这么先进的方式运行在Linux上,我一时有点无所适从。比如在Windows下,Magento Connect Manager能正常运行,但在Fedora服务器上,Existing Extensions项下空白一片,怎么办?

    查了好久,找到方法:Enter ‘magento-core/Mage_All_Latest‘ in the extension key area.

  • 要做就做Bug-Free的网站

    我在6月15日升级了服务器,当时花了好几天时间重新安装设置各种程序,并认为已经做了所有该做的事。

    直到今天有客户告诉我无法上传文件,我马上意识到存放文件的目录没有设置可写属性,一查果然如此。想想真的可怕:三个月内,在线定单也接了不少,竟然没人来指出这个bug。这类bug最可怕,因为客户在下单时可以选择以邮件方式发送文件,所以系统并没有因为这个bug停止运行,我也根本没注意到这个bug。但估计还有一部分客户发现不能上传文件,就走掉了,这三个月定单在历史的低点,不知是巧合还是必然。

    特别感慨,要用心做网站,做bug-free的网站!

  • Magento Base

    最近发现我的magento后台不能更新数据,但系统每次都提示保存成功,一开始我还以为数据库出了问题。

    查了好久的原因,这才发现是因为我把www.goods-pro.com全部重写到goods-pro.com (non-www)的缘故。设定301规则之前,我没有更改Magento Base。这样,magento base记录的base url跟我维护时登录的url是不同的,大概为了安全考虑,magento不允许保存数据。但是,如果不允许,早说嘛,浪费我好长时间找原因。

  • 与人方便就是与己方便

    今天带老爸参观了PCWorld,回家时19:15左右,通常这个时候停车位最紧俏,我就没指望家门口还有停车位。

    所以当我距离到家还有一段路时,发现一个停车位,我就想把车停了。我没注意到前方有一辆车已经先看好了这个车位,正停着准备等我过去然后他好倒车进去。我一个转弯就占了这个位置,然后才发现前方的车好像在等着个停车位。英国人通常都很礼让,我也染得很礼让,要在平时,我肯定会把车重新开出去,另找停车位。

    老爸思路不同,说,你先停好了,何必让?!得,尊重老爸的意见。下车,锁门,前面的车看着到手的肥肉被我叼走,也只好走了。于是我跟老爸走了一段路回家,说长不长,说短不短,走到家门口时,发现——空着两个车位!

    老爸又说,要是有那么个设备,可以远程告诉你车位占用情况,估计英国可以卖个人手一个。那敢情好,但这个park space indicator发明之前,我还是用哲学方法来判断:与人方便就是与己方便。

  • httpd.conf Priority Against .htaccess

    在httpd.conf里可以用allowoverride设置让.htaccess生效或失效,这让我想当然地认为httpd.conf比.htaccess有更高的优先级,最后发现并不是这样。

    今天我调整了我管辖的几十个域名的A record, CName, MX。为了让域名规划更加整齐,也方便以后的更改,我把同组域名(启用ghs.google.com的多个alias)都用mod_rewrite做了301 redirect,指向了primary domain。因为Rewrite必须写在Directory directive里,所以我在httpd.conf里写完Virtualhost directives之后,专门开篇Directory,把各组域名的子域名重写规则都放在一起,方便阅读和理解。

    域名启用了wildcard子域名,我想让一些特殊的子域名在wildcard子域名定向前先行重定向,所以我把这些特殊子域名的重定向写在了httpd.conf里面。我管辖的域名都按同一个规则设置特殊子域名,我也不想打开一个个.htaccess一一编辑,把这些规则写在httpd.conf是最理想的。

    我原以为httpd.conf优先级高于.htaccess,所以当特殊子域名在httpd.conf读到匹配的规则,即行重定向,而不再当作wildcard子域名处理。但是我错了。关于优先级的完整理解应该是:

    • httpd.conf可以设置让.htaccess生效 (allowoverride all) 或生效 (allowoverride non) ,这没有错。
    • 但一旦httpd.conf让.httaccess生效,.htaccess里的设置就优于httpd.conf。对啊,allowoverride就是这个意思,我怎么就这么傻呢。

    如果不是magento之类的程序,即使特殊子域名被当成wildcard子域名,在.htaccess里匹配不到规则,特殊子域名还是有机会在httpd.conf里完成我期待中的重定向。magento (说到底是zend frameword) 带来一种规则——所有不匹配的规则统统重定向到index.php,这让我在httpd.conf里的规则再也没有机会捕捉到特殊子域名 (全被当成wildcard子域名被.htaccess捕获了)。

    思前想后,我只好想出一招:把特殊子域名作为ServerName或ServerAlias编成专门的VirtualHost directive,位置必须放在wildcard子域名所在的VirtualHost directive之前,然后为特殊子域名和wildcard子域名设置不同的DocumentRoot。因为RewriteCond和RewriteRule都是基于Directory directive的,既然分开在不同的directory,wildcard子域名的.htaccess就没有机会override特殊子域名了。

  • 西洋参不西洋

    入乡随俗,我很少在上班时做一些有中国色彩的事情。

    最近嗓子疼,感觉是上火,所以今天一上班没按惯例泡英国红茶或咖啡,冲了一杯西洋参茶来喝。同事们像看西洋镜一样地来看我的饮料,一番介绍又是免不了的。当然最简单的介绍,就是告诉他们,这个玩意叫genseng,然后让它们自己google。同事google完以后,啧啧一番,就是不敢尝试。

    我觉得奇怪,既然西洋人不知道西洋参,那么为什么取名叫西洋参?

  • Godaddy Offsite DNS

    我非常感谢Godaddy提供的Offsite DNS服务,我已经全面实施。

    最近发现Godaddy Offsite DNS一个考虑不够周到的方面:Setup Domain for Offsite DNS 之前不进行域名持有人的身份验证,这可能会有一些安全隐患。

    我在Godaddy有若干帐号,帐号1对某个域名A设置的Offsite DNS,帐号2购有一个Godaddy Deluxe Plan,Deluxe Plan是个Share Hosting Plan,目前对我来说已经没有使用价值了,但以前曾针对域名A搞了一个测试。Deluxe Plan有自动设置DNS的功能,我没有从帐号2里删除域名A,造成帐号1里域名A的Offsite DNS无法生效。

    这里我不理解的是:Offsite DNS和Deluxe DNS使用各自不同的Nameservers,但Deluxe DNS还是影响到了Offsite DNS。

    这里我觉得不安全的是:如果帐号1和帐号2分属不同的人,或者域名A转让了主人,而前后主人都使用Godaddy DNS,那岂不是问题多多?

  • 体验英国医疗服务

    上周六带女儿看了Shoreham RAFA Airshow回来后,女儿有点不舒服,隔了一天接着出现中低烧症状。我犹豫着要不要送女儿上医院。听过很多人评论发达国家的医疗系统,总的来说,大多讲到:在看小病方面,英美等国还不如中国,在中国能享受更快捷更有效的服务。所以,我设想着如果去看病,可能会遇到——

    • 医生一探体温,然后说,没事,回家敷冰袋、多喝水。
    • 医生一探体温,然后说,确实在发烧,不管怎么,一堆猛药先把体温降下来。
    • 医生一探体温,然后说,先回家,如果上40度再来。
    • 医生说,感冒发烧小毛小病要排队1个月。

    还是孩子他妈下决定,打电话预约,马上去医院。预约Emergency,几分钟就约上了,于是去医院。当时是半夜,在候诊室里略等了几分钟,医生就出来了。然后量体温,检查脑部、胸部、背部、耳部、口部,除了体温超标,没有发现异常。医生说,如果有其他部位的感染,发烧头几天是检查不出来的。只要注意量体温,如果三天以后发烧不退,可以再来。临走前医生开了张处方。

    我觉得整个看病过程是很有建设性的,心理预期也和在中国医生(当然是指负责的医生)那里差不多。其实,我自己也判断孩子生的病不严重,只是,如果能从医生这里听到同样的判断,就放心了。看小孩的病,其实是给大人做心理治疗。

  • 中国货物出口到英国海运免费

    我是在调查我的case时,才知道中国到英国主要港口之间的拼箱海运费是免费的。也就是说,如果你是出口商,算出 FOB Shanghai 是什么价格,就可以报出 CFR Felixstowe 什么价格。

    我也算是消息不灵通人士了:这个在货运行业中存在多年的规则,我竟然刚刚知晓。其实这个免费规则还可以扩展一下,世界上还有很多目的港可以做到免费海运,甚至货代还倒贴给你,就是说你有可能报出比FOB还低的CFR价格。

    因为我们公司以前一直指定货代,我也不是直接负责这方面的事务,难怪我不了解这条潜规则。不过,现在我知道了,我得在公司推行一下。

  • 港口统计数字

    又读到一篇报道,也很有意思:

    …天津港已同全球180多个国家和地区的100多个港口建立了贸易往来…

    假设前者国家和地区数为a,后者港口数为b,从字面上一般理解为a > b (如果你要钻牛角尖,说180多可以是190,100多可以是199,那我就无话可说了),也就是说180多个国家和地区当中,很多是内陆国家和内陆地区,没有自己的港口。所以,报道用词改为

    …天津港已同全球180多个国家和地区,100多个港口建立了贸易往来…

    比较妥当。