解决 Wordpress 邮件乱码和盗链问题

换到 Bluehost 上什么都让我挺满意的,唯独 Wordpress 出现了一个令人头痛的问题。每次接收到评论 wp 都会发一封邮件给我,提示有新评论。这个功能很实用,可以方便我及时回复他人的评论。换到 Bluehost 以后,收到的邮件内容都是一堆乱码,显得美中不足。

以前使用国内的空间没有遇到过这种问题,可以确定是编码不同造成的。 Google 了一下相关的内容,发现我和别人的遭遇不太一样。大多数 Wordpress 使用者收到的邮件仅仅是标题乱码,而我接收到的邮件连内容都是。Cube同学写了一个插件来解决邮件标题乱码的问题,这个插件的原理是替换掉 Pluggable.php 内的邮件发送部分,自行指定该部分的编码。结合我自己的情况,将 Pluggable.php 内的 wp_mail 部分重写,分别指定邮件头、邮件标题和邮件正文的编码为 base64 也就是utf-8就可以了。考虑到日后升级会比较麻烦,也可以将修改后的 wp_mail 部分写入 my-hacks.php 这个文件,启用 my-hacks.php 支持以后,这个文件内的修改内容就会替换掉原有 pluggable.php 内的功能字段。顺便附上 修改好的my-hacks.php ,使用时先到后台的“选项-杂项”内开启 my-hacks.php 支持,然后将其放置在 wp 根目录下即可。

花开有季同学告诉我他的 Blog 被百度收录的事情,我顺便也看了一下 Google 对我这个 Blog 的收录情况,不巧找到一位 Sohu 博客的朋友转载了我那篇写易搜的文章,而且没有给出原文链接。我的文章里面有提到 ishawn.net,他竟然没有改动,所以不爽之余又有些窃喜,帮我宣传了嘛。那篇文章里面有一些图片,都是我放在本地服务器上的,不知不觉间造成了流量损失,太不应该了。到这儿我才发现 Bluehost 那个 Cpanel 的防盗链功能真差劲,什么也防不住。这种情况下,修改 .htaccess 文件是个好方法。

将以下内容写入 .htaccess 文件,第三行是需要启动防盗链功能的域名,第四行括号内是文件格式,以 "|" 分割,我的建议是将大小写都写上,毕竟是 Linux 主机,难免有漏网之鱼。

RewriteEngine on
RewriteCond %{HTTP_REFERER} !^$
RewriteCond %{HTTP_REFERER} !^http://(www\.)?ishawn.net/.*$ [NC]
RewriteRule \.(gif|jpg|GIF|JPG)$ - [F]

我又Google了一下,还有更绝的方法,不仅防止了引用,还能借机宣传自己。将第四行内容替换为:

RewriteRule \.(gif|jpg|GIF|JPG)$ http://ishawn.net/warning.xgif [R,L]

其中 ishawn.net/warning.xgif 是你自己的警告图片,一旦别人引用了你禁止引用的内容,该内容便会被替换为你预设的这个图片,需要注意的是,这张图片不能是已经禁止的文件格式,否则不会被显示。聪明的办法是将这张图片的扩展名改成其它的名字,所以千万不要奇怪为什么是 warning.xgif 而不是 warning.gif ,反正都能打开。

Tag(s):
  • QQ书签
  • Del.icio.us
  • 百度收藏
  • Google
  • 饭否
  • FriendFeed
Shawn Published@5:22 / 2007-04-14 / Trackback / Skip
10 Comments Contributed by Visitors
  1. rebuttonleehow / 12:12@2007-04-14 1
    leehow

    妈的,赏了一个星期班周末还要做试验。

  2. rebuttonShawn / 15:08@2007-04-14 2
    Shawn

    我同情你。。。

  3. rebuttonleavic / 21:08@2007-04-14 3
    leavic

    1.Cpanel自带防盗链功能,连带你说的那个自定义盗链警示图片功能。
    2.防盗链会导致feed中的图片也无法显示,这样对不起你的读者。
    3.靠,你的流量有硕大到需要防盗链的地步吗?美国人的空间你都已经付了钱了,干嘛这么替他们节约资源。如果你是想替国家解决出口带宽的话,偶是没意见的。

    One More Thing,很遗憾还是没能看到你坚持用MT,不过,各有所好。

  4. rebuttonShawn / 21:21@2007-04-14 4
    Shawn

    1.Cpanel自带的防盗链功能不能防止针对Wordpress的盗链,我试过了。
    2.多谢您提醒Feed的问题,我想我会取消防盗链的功能。
    3.我倒不是想刻意防盗链,更不是为他们节省资源,实际情况是,我更注重这个功能的实现。

    btw 我从来没说放弃MT,只是没有用在自己的Blog而已,我将其当作一款很好的CMS

  5. rebuttonleavic / 22:57@2007-04-14 5
    leavic

    嗯,我想起来了,以前给别人装的bo-blog也有过这个防盗链失效的问题。
    cpanel的防盗链也是基于.htaccess文件的(其实cpanel的绝大部分功能都是如此),有些blog系统自带的.htaccess文件中的默认设置刚好和这个功能冲突,没想到这么成熟的wordpress也是这样。

  6. rebuttonShawn / 23:28@2007-04-14 6
    Shawn

    可能是和Wordpress的Rewrite rule冲突

  7. rebuttonReach / 9:22@2007-04-16 7
    Reach

    刪除了我的迴響就當沒看到?

    預料中的反應,中國人嘛.... 還不就這個樣。

  8. rebuttonShawn / 12:16@2007-04-16 8
    Shawn

    [Comment ID #56 Will Be Quoted Here]

    首先,我本人不欢迎骂街,所以带有辱骂成分的话语我肯定是要删除的。如果您认为我侵犯了您的利益从而导致了您的损失,那么我可以通过其它方式补偿。并且在这里给您道歉。

    其次,如果您觉得我没有给出出处,那么可能是您理解上的问题,我没有做成Hyperlink的形式而是给出了明文地址,我认为这就是对您站点的宣传。

    最后,一个连自己真正的邮箱都不敢留下的人,我想你的目的并不单纯。这个事情我不想再扯下去。相信您也看见了,本身我并不使用Tattertools,并且也没有使用Dreamhost的空间,所以我没有必要从您那里获得任何好处,更谈不上什么声誉问题。

    我在V2ex上给出链接地址,属于公益性质,也有调侃成分,这件事情你非要扩大而且牵扯到人格方面的话,我只能说遗憾。

  9. rebuttonsadmonica / 23:32@2007-04-16 9
    sadmonica

    晕,Reach,你难道不是中国人,你祖宗难道不是我们大陆的?
    想忘本? 你去仔细查查历史去.
    被日本占领了几十年,就不得了了啊!
    什么我们都这个样,我承认我们大陆有的人的素质是不高,但你有没发现素质的高低一般是和经济发展成正比的,那些西方国家他们在资本萌芽的初期素质不也低的一塌糊涂吗,再说了,看了你说的话,我直接怀疑台湾的经济是不是比我们还要不发达.

    其实我也不想和你挣,说来说去都是中国人,这是不容争辩的事实,

  10. rebuttonleavic / 12:44@2007-04-17 10
    leavic

    臺灣人是臺灣人,中國人是中國人,如果他們不認為自己是中國人,沒必要逼他們說自己是中國人。

  11. rebutton爱狗 / 21:21@2007-07-27 11
    爱狗

    感谢。
    我现在用的2.21仍然有邮件乱码的问题,不过用了终极边疆的那个插件就ok了

  12. rebuttonReach / 15:25@2007-08-14 12
    Reach

    我沒有留e-mail的理由很簡單。

    中國與美國是全世界垃圾郵件最多的國家。
    http://news.sina.com.tw/tech/sinacn/cn/2007-07-20/080438178320.shtml
    我看見一個中國人架在美國的blog,我稍微留意一點不行嗎?

    我既然以 geek 為名。
    會留意自己的 e-mail ,不要讓它過於廣泛的流出。這是再正常不過的事。
    任何稍稍有技術概念的人,也都會如此小心。

    沒想到我居然會被冠上「目的不單純」的帽子。

    不留,是技術上的問題。而不是心態上的問題。
    我想你應該就這個點向我道歉。

  13. rebuttonShawn / 16:08@2007-08-14 13
    Shawn

    那我就在这里给你回应吧。
    首先,V2ex的帖子发出后无法更改内容。
    其次,我不管你是台湾人还是哪儿的人,但是你发表的第一篇帖子就辱骂了全体中国人,我当然要删除!
    至于你留不留e-mail,那是你的自由,但是我的确没有办法联系到你,这是事实。
    不过既然你如此敏感,如此“善良”,我劝你还是不要和我打交道为好,都是互联网,你处处小心翼翼,被人盗链了呼天抢地,这样的网民我实在是顿感索然无味。送你一句话,互联网不适合你。

  14. rebutton467 / 23:38@2007-12-03 14
    467

  15. rebutton忍不住插嘴 / 18:05@2008-06-05 15
    忍不住插嘴

    ls那位“台湾人”,你可否知道Geek是有着广阔胸怀而不会把政治问题掺和在思考中的,非常希望你能够反省反省这样做有否侮辱geek精神

Leave Comments Here...

必填

必填&保密

随您

支持Ctrl+Enter快捷提交

  • 已部署"白忙活" Anti-Spam 系统,猪肉 Spammer 请注意查看源代码链接处。
  • 本站不会泄露您的邮件地址,敬请放心。
  • 支持常用 HTML 代码调用,插入 PHP 代码需注意:< = &lt;> = &gt;
  • 仅当某人针对您的评论做出回应时,您才会收到由本站发出的通知信件。
  • 如您希望以相同方式通知某位网友,请点击 Reply 按钮,或自行输入 @对方名字:
  • 鼠标移至评论列表中的 @someone: 区域即可自动显示 someone 的评论内容。
2 Trackbacks/Pingbacks

Shawn Blog

Focus on Wordpress, Firefox, Web 2.0, Webhosting