Tag Archive for tips


10个WordPress的.htaccess技巧(强烈推荐)

Posted in Tech, WordPress, 学海无牙, 网事如风 2009-03-19 Comments21 CommentsComments,,

对于Apache服务器,使用.htaccess文件可以进行很多相关网络服务访问的配置。而以下的10个技巧则专门针对WordPress所进行的设置,推荐大家参考使用:
参考原文:10 awesome .htaccess hacks for WordPress

1. 重定向WordPress的RSS Feed链接地址到Feedburner地址:
除了修改WP的模板文件来定制其输出的RSS Feed链接地址外,还可以使用.htaccess文件来进行设置(替换yourrssfeedlink为自己的Feedburner地址)。

  1. # temp redirect wordpress content feeds to feedburner
  2. <IfModule mod_rewrite.c>
  3.  RewriteEngine on
  4.  RewriteCond %{HTTP_USER_AGENT} !FeedBurner    [NC]
  5.  RewriteCond %{HTTP_USER_AGENT} !FeedValidator [NC]
  6.  RewriteRule ^feed/?([_0-9a-z-]+)?/?$ http://feeds2.feedburner.com/catswhocode [R=302,NC,L]
  7. </IfModule>

参考:How to redirect WordPress rss feeds to feedburner

2. 去除WordPress分类链接中的“/category/”:
默认情况下,WordPress的分类链接显示的样式为:

  1. http://e-spacy.com/blog/category/tech

其实其中的category部分没有任何意义,如果想去掉它可以修改.htaccess文件(替换yourblog为自己的网址)。

  1. RewriteRule ^category/(.+)$ http://www.yourblog.com/$1 [R=301,L]

参考:How to remove category from your WordPress url

3. 使用浏览器缓存:
可以修改.htaccess文件让访问者使用浏览器缓存来优化其访问速度。

  1. FileETag MTime Size
  2. <ifmodule mod_expires.c>
  3.   <filesmatch "\.(jpg|gif|png|css|js)$">
  4.        ExpiresActive on
  5.        ExpiresDefault "access plus 1 year"
  6.    </filesmatch>
  7. </ifmodule>

参考: Comment accelerer le temps de chargement de votre blog

4. 压缩静态数据
可以修改.htaccess文件来压缩需要访问的数据(传输后在访问端解压),从而可以减少访问流量和载入时间。

  1. AddOutputFilterByType DEFLATE text/html text/plain text/xml application/xml application/xhtml+xml text/javascript text/css application/x-javascript
  2. BrowserMatch ^Mozilla/4 gzip-only-text/html
  3. BrowserMatch ^Mozilla/4.0[678] no-gzip
  4. BrowserMatch bMSIE !no-gzip !gzip-only-text/html

5. 重定向日期格式的WP Permalink链接地址为Postname格式:
如果你目前的Permalink地址为/%year%/%monthnum%/%day%/%postname%/ 的格式,那么我强烈推荐你直接使用/%postname%/ ,这样对搜索引擎要舒服得多。首先你需要在WordPress的后台设置输出的Permalinks格式为/%postname%/ 。然后修改.htaccess文件来重定向旧的链接,不然别人以前收藏你的网址都会转成404哦!(替换yourdomain为自己的网址)

  1. RedirectMatch 301 /([0-9]+)/([0-9]+)/([0-9]+)/(.*)$ http://www.yourdomain.com/$4

参考: Redirect day and name permalinks to postname

6. 阻止没有referrer来源链接的垃圾评论:
设置.htaccess文件可以阻止大多数无Refferrer来源的垃圾评论机器人Bot Spammer。其会查询访问你网站的来源链接,然后阻止其通过wp-comments-post.php来进行垃圾评论。

  1. RewriteEngine On
  2. RewriteCond %{REQUEST_METHOD} POST
  3. RewriteCond %{REQUEST_URI} .wp-comments-post\.php*
  4. RewriteCond %{HTTP_REFERER} !.*yourblog.com.* [OR]
  5. RewriteCond %{HTTP_USER_AGENT} ^$
  6. RewriteRule (.*) ^http://%{REMOTE_ADDR}/$ [R=301,L]

参考: How to deny comment posting to no referrer requests

7. 定制访问者跳转到维护页面:
当你进行网站升级,模板修改调试等操作时,最好让访问者临时跳转到一个声明的维护页面(和404错误页面不同),来通知网站暂时无法访问,而不是留下一片空白或者什么http bad错误。(替换maintenance.html为自己定制的维护页面网址,替换123.123.123.123为自己目前的IP地址,不然你自己访问也跳转哦)

  1. RewriteEngine on
  2. RewriteCond %{REQUEST_URI} !/maintenance.html$
  3. RewriteCond %{REMOTE_ADDR} !^123\.123\.123\.123
  4. RewriteRule $ /maintenance.html [R=302,L]

参考:Comment faire une page d’accueil pour les internautes

8. 设置你的WordPress防盗链:
盗链是指其它网站直接使用你自己网站内的资源,从而浪费网站的流量和带宽,比如图片,上传的音乐,电影等文件。(替换mysite为自己的网址和/images/notlink.jpg为自己定制的防盗链声明图片)

  1. RewriteEngine On
  2. #Replace ?mysite\.com/ with your blog url
  3. RewriteCond %{HTTP_REFERER} !^http://(.+\.)?mysite\.com/ [NC]
  4. RewriteCond %{HTTP_REFERER} !^$
  5. #Replace /images/nohotlink.jpg with your "don't hotlink" image url
  6. RewriteRule .*\.(jpe?g|gif|bmp|png)$ /images/nohotlink.jpg [L]

参考:How to protect your WordPress blog from hotlinking

9. 只允许自己的IP访问wp-admin:
如果你不是团队合作Blog,最好设置只有自己能够访问WP的后台。前提是你的IP不是像我一样动态的哦。(替换xx.xx.xx.xx为自己的IP地址)

  1. AuthUserFile /dev/null
  2. AuthGroupFile /dev/null
  3. AuthName "Example Access Control"
  4. AuthType Basic
  5. <LIMIT GET>
  6. order deny,allow
  7. deny from all
  8. allow from xx.xx.xx.xx
  9. </LIMIT>

参考:Protecting the WordPress wp-admin folder

10. 阻止指定IP的访问:
如果你想要阻止指定IP的访问,来防止其垃圾评论,那么你可以创建自己的Backlist黑名单。(替换xx.xx.xx.xx为指定的IP地址)

  1. <Limit GET POST>
  2. order allow,deny
  3. deny from xx.xx.xx.xx
  4. allow from all
  5. </Limit>

参考:The easiest way to ban a WordPress spammer

Google技巧:指定大小搜索图片

Posted in Webtools, 网事如风 2009-01-28 CommentsCommentsComments,,,

原来Google的图片搜索还可以自己定义尺寸,比起一般的搜索引擎只能选择小,中和大等选择可要高级多了。google image search
使用方法:
在输入搜索内容的同时加入imagesize:xxy即可,其中x, y为横纵像素值。
比如搜索“柏林大教堂”1280×960像素的图片,使用imagesize:1280×960 berliner dom即可。

这样便方便搜索桌面背景等资源了,当然写blog时插入的图片也可以按自己模板的大小来指定搜索选择。via

WordPress高级宝典

Posted in WordPress 2008-01-04 Comments10 CommentsComments,

一个月前曾经介绍过WordPress宝典,现在WPCandy上又推出了高级版本。The Advanced WordPress Help Sheet
advancedwpsheetpreview
和前一版本只介绍了部分函数和标签的功能不同,这个高级版本分别列出了一系列Hack技巧,按顺序整理如下:

  • 只在Home主页时显示特定内容
  • 按类别采用不同CSS样式
  • 按类别显示不同图片
  • 为单独日志指定特定样式
  • 前后日志链接的调用
  • 调用Page页面列表
  • 动态页面标题
  • Query Posts调用日志
  • 模板CSS文件声明
  • Page页面模板声明
  • Loop循环代码
  • 为不同类别调用特定内容
  • Tag云调用

这些对于制做模板,尤其是定制新闻式或者CMS式的模板相当有参考价值。

打包叠衣法

Posted in 学海无牙 2007-09-21 CommentsCommentsComments,

外出旅行或者出差时,都要随身携带一些必备的衣物来装在手提箱内。我是把一件件衣服叠好,套个塑料袋后放在箱子内,但这样在衣服和衣服之间往往会留下很多间隙,浪费了空间。
bundle-wrapping
如图所示为一种很合理的衣物打包方法,即把两个上衣和一条长裤进行搭配折叠,之后放入手提箱的衣物栏内,尺寸上会很合理,而且应该会节省一些空间。via

PowerPoint幻灯片定制放映

Posted in Software, 学海无牙 2007-09-15 CommentsCommentsComments,,

以前在上课时,老师每次都要在课前从讲义的PPT中选择到指定的一页,然后上课便开始从那里讲起。但一个课程会有几百个幻灯片,往往老师都要会找上一阵才行。
ppt1
在最新的PowerPoint 2007中加入了自定义幻灯片放映的功能:
如图所示,我们能够选择添加自定义放映,然后从现有的幻灯片中进行选择,同时还能够调整不同的播放顺序,设置完后便能够进行播放了。
ppt2
这样老师在上课之前,可以事先安排好当天播放的幻灯片序列,同样也可以对不同章节进行设置,在播放时选择相应的章节就可以了。

同时还可以对个别幻灯片进行隐藏,而且对于用户在设计创作幻灯片时,也能够选择窗口浏览的方式进行临时查看效果。

让WordPress非第一页显示摘要

Posted in WordPress 2007-09-13 Comments17 CommentsComments,,

前两天看到一款叫做Homepage Excerpts的WordPress插件,其功能是把WP日志页面的首页(传统首页,即非自定义首页,比如我的)显示全文,而在第二页及之后的页面显示摘要。
homepageexcerptsexample
如图所示,普通Blog如上面浅蓝色情况,而使用插件后则为下部浅粉色的样子。这样有利于SEO的避免重复内容,但其实则更有利于用户快速访问存档,浏览Blog,也有利于提高PV。尤其是我每篇日志都有图片,会影响一定浏览速度。现在访问我的Blog或者存档,Tag页面,只会在首页显示全文,而之后的页会显示摘要,提高了加载速度,方便读者找到需要的内容。

此插件能够设置全文显示的日志个数,也能自定义摘要的字数。我下载后激活却无法自定义摘要字数,而只是把图片和链接去掉了,不知道是否为插件兼容问题。这样的效果完全不是我想要的,所以只好自己想办法了。后来查了下WP官方文档,原来有is_paged这样的函数,这样完全可以自己用几行代码来实现这一方案了:

  1. <?php if (is_home() && !(is_paged())) : ?><?php the_content("阅读全部'" . the_title('', '', false) . "'"); ?><?php else : ?><?php the_excerpt(); ?><?php endif; ?>

而实现摘要的自定义字数,则可以用桑葚的中文工具包实现。