Author: 芳草苑主

  • Magento SID

    如果magento base url 为 goods-pro.com,那么用www.goods-pro.com 访问时,页面中的链接会带有SID,这是为了跨域名访问时,会话不丢失。

    为了SEO,就得避免SID,为此goods-pro.com和www.goods-pro.com只能选择一个做base url,把另外一个301跳转到base url。这里我个人比较爱好no-www的方案:

    RewriteEngine On
    RewriteCond %{HTTP_HOST} ^www\.(.+)$ [NC]
    RewriteRule ^(.*)$ http://%1/$1 [R=301,L]

  • safe_mode

    我想用script.php访问文件系统,但又想把script.php能访问权限限制在script.php owner 的权限内(而不是apache的权限)。今天才知道把safe_mode turn on就可以,真是又高兴又痛苦,因为很久以前我就想限制script.php的访问权限了,不知道怎么,当时我得出的结论是php 以cgi模式安装才能做到权限检查,sapi模式是做不到的。可能fastcgi过分宣传它的安全特性给我造成一种错觉,其实就文件访问权限来说,sapi一样安全。

    同样也是很久以前,见论坛上有个好学的人想要一个免费的空间体验一下xoops,对于好学的人我总想热心帮忙的,况且我又不用额外支出,何乐而不为。无奈我的服务器的designer做的初始设置不是针对share hosting的,safe_mode default off。这样把服务器分给别人用我总归不放心,所以最终没有划空间给好学之士。

    safe_mode=on,真就这么简单!

  • What Makes A Good Web Program

    我看问题可能有局限性,但我现在判断程序好坏的必要非充分条件之一是:这套程序能否充分利用Apache Url Rewrite。换句话说,如果是php程序,这套程序的前台页面是否由一个index.php来产生。

    以这个条件来看,Zen Cart算好,Magento当然更好,osCommerce就不算好;Drupal / Joomla 都算好,WordPress 当然算是典范,Xoops 就不怎么样了。

    也是因为这个原因,我放弃关注Xoops——痛苦地放弃,尽管曾经它是我的最爱,尽管它有某些功能很独到。

  • Why Google Analytics Dashboard Not Printing Out

    About a month ago, I found I could not print Analytics Dashboard from IE (my version is 7 already). Every time I tried to print Dashboard, the browser freezed. I have tried different computers and different printers. The symptom is the same.

    Analytics Dashboard is the only report I can not print from IE, but other reports are fine.

    I can print Analytics Dashboard from Firefox, but the print layout is not as well formatted as it is in IE. So I have to use IE to print this report.

    After I realise Flash 10 is causing problem of uploading images in magento, I think it might be same Flash causing another problem. However, this time Flash 10 is fine, but Flash 9 is not. As my test result shows, Analytics Dashboard can be printed in IE with Flash 10 installed. I assume the symptom is affecting IE with Flash version lower than 10.

    I do not like Flash, but between Flash 9 and Flash 10, I prefer the former for now. I think a good program should work both on Flash 9 and 10. So I reported this problem to Google for them to improve Analytics. It must be some recent changes that prevent Analytics Dashboard from being printed.

  • It’s all Flash’s Fault

    不经意中,电脑被装上了Flash 10。等我发现magento后台不能浏览和上传文件时,我怎么也没把原因和Flash 10联系起来。

    首先我以为是magento 1.1.5升级到1.1.6造成的,因为我在1.1.5还成功上传过文件。当我专门为此搞了个试验,全新安装了一个magento 1.1.5来上传图片,还是无功而返。

    浏览器提示javascript出错,可是我实在想不明白为什么以前可以,现在不可以。为此浪费了无数个晚上,终于让我找到了答案,Flash 10!

    Flash 对此的解释冠冕堂皇:为了安全,Flash 10不再允许间接调用文件浏览对话框,文件浏览对话框只能由鼠标动作触发。很不幸,作为magento的上传部件,SWFUpload采用的是间接调用的方式,落入了Flash 10的打击范围。

    我本来就不喜欢Flash,这次Flash 10又浪费了我这么多时间,magento至少被我拆装了3次!尽管它有千万个安全理由,我还是对它敬而远之。

  • 异地汇款的窍门

    我曾经对各银行异地汇款手续费摸得很熟,但几年不在中国生活,行情肯定过时了。今天凑巧读到一篇调查,摘录如下。

    目前,每家商业银行都有不同的异地汇划手续费用设计。2007年中国人民银行在《关于改进个人支付结算服务的通知》中规定,个人客户依托其银行账户办理个人汇兑时,汇划金额在1万元以下(含1万元)每笔收取5元,1万元以上至10万元每笔收取10元,10万元以上至50万元每笔收取15元,50万元以上至100万元每笔收取20元,100万元以上每笔按汇划金额的万分之零点二收取,最高不超过200元。未在银行开户的个人可用现金直接汇款,5000元以下的按汇款金额的1%收取,5000元以上(含5000元)的,均按50元收取;挂失手续费按票面金额的1%收取,不足5元的按5元收取。

    招行和农行等是按照央行的规定执行的。工行、建行、邮政储蓄银行等则是以现金汇兑的标准收取手续费用。其中,工行异地电汇的收费标准是:按汇款金额的1%收取,最低1元,50元封顶;建行与工行的标准基本相同,但最低收费为2元;邮政储蓄银行则将费率标准由1%降为0.5%,最低收费为2元,50元封顶。因此,1万元以下的异地汇款通过邮政储蓄银行汇款最划算。1 万以上的异地汇款可以选择招行、农行等。

    看来,异地汇款还是首选农行,因为它手续费最便宜,而且网点比较多。但现在多了个新概念“汇划”,汇款人要在银行开户才能汇划,嘿嘿,银行花样经真多。

  • 电话收款的完美方案

    客户电话订货,他把信用卡信息告诉我们,我们通过虚拟终端收款;我们的软硬件都不够安全等级,不适宜保存客户信用卡资料;客户再次订货时,我们通常又得问一遍信用卡信息。这很烦人,客户有时也觉得烦,大大咧咧的客户更觉得我们保存信用卡资料比每次问要好。我觉得以现有的软硬件设施来保存客户信用卡资料是不合法的,但我们不能做的事情,我们的Payment Service Provider可以替我们做到啊。

    这个问题我已经想了很久了:客户能把信用卡资料告诉我们一次,也能把信用卡资料告诉我们两次;我们能从客户卡上划出一镑钱,也能从他卡上划出两镑钱。这个前提是客户给与我们充分的信任。如果我们是诚信经营的,那么客户把信用卡资料告诉我们一千次也无妨,反之,哪怕一次也是祸害。

    从理论上讲,Payment Service Provider是支付网关,当它的虚拟终端被我们使用一次以后,它就保存有客户的信用卡资料,以后同个客户再来付款,它就没必要让我们再从客户嘴里套问一遍信用卡资料。

    但事实就是这么残酷。对于老客户的电话订单,一直以来我们总是反复问同一个客户几个同样的问题:持卡人姓名、账单地址、邮编、卡号、到期日、安全码…

    直到本周我们新换了PayPal做我们的Payment Services Provider,我的牛劲上来了,追着PayPal Support问:能不能有一种结合Virtual Terminal(能电话收款)和Recurring Payments(能定期收款)两个产品特点的新产品,能在客人每次下电话订单的时候收款,但不用每次套问信用卡资料?说实话,我本以为PayPal不会有一个现成的方案,我只是想建议他们推出这么个新产品,可以方便广大商家。

    不知道是PayPal Support笨,还是我表达得不够清楚,抑或是PayPal根本不想推广这个方案,我跟PayPal Support一来一去足足有四个来回才知道他们有现成的方案(藏这么好干吗?),前三个来回都是答非所问。

    现成方案就叫“New Reference Payment” ,就在每笔Virtual Terminal Payment的Details里找。

  • The Power of PivotTable

    突然发现 Pivot (数据透视表)很强大。

    我找了一份learning-pivot-table,方便我自己和对Pivot感兴趣的人学习。

  • What is vmware server default login?

    vmware server login page
    vmware server login page

    今天升级了 Vmware Server 到 2.0.0-122956。Vmware Server 2.0.0 给我一种耳目一新的感觉,我准备花些时间好好学习。安装完成以后,Vmware Server 的登录账号也出乎意料,google了一下才知道竟然是 Windows 的系统管理员账号(任何管理员权限的账号,不限于”administrator”)。

  • More About WordPress Uploads

    昨天写了一篇Migrating WordPress Uploads,我意犹未尽。

    每上传一个文件,WordPress会把它放在”Store uploads in this folder”指定的目录,但在post中都已转化成绝对路径来记录 Path 和 URL 。我不欣赏这种做法,因为这对服务器环境养成依赖。

    WordPress核心对”Store uploads in this folder” 和 “Full URL path to files (optional)” 不重视,造成某些插件也无视这两个options的存在。比如WP Shopping Cart,根本不去探测这两个值,直接就把产品图片等文件保存位置设定为wp-content/uploads/wpsc/… 。

    为了让WP Shopping Cart能够按照我的要求摆放文件,我只好修改了wp-shopping-cart.php,在 $upload_path 和 $upload_url 被调用之前,给它赋予正确的值。

    $myuploads = wp_upload_dir();
    $upload_path = $myuploads [‘basedir’];
    $upload_url = $myuploads [‘baseurl’];